Changes draw command implementation to properly follow
command design pattern. All drawing commands have been
moved to separate inheriting draw commands from renderer.
Other changes:
- New draw methods overloads have been added to pixel renderer.
Now pixel rendering methods are in one class.
- Simplified draw commands naming.
- Changed variable naming in draw commands to be more verbose.
- Changed {x,y} pairs to Points where possible.
* elements which possibly depended on this depend now on `visibility` of element added
* changed everywhere returns on addWidget
* checked layouts (vertical, horizontal, pagedbox, gridlayout)
First asign size -> than addWidget to parent
Element created should have first assigned it properties, then there
should be try to add to parent widget - othervise parent widget tries to
position elements based on default values.
This design is generally silly at most as if we fail we cant just delete
the child, we cant react properly. We could throw and hope that someone
will try to catch it - but if they do, they should be able to first
create item, than try to add it to parent in the first place.