refactoring: reduced the number of virtual _push* methods
Refactoing: now the overriding CustomTexture class can control how shapes are drawn
allowing to draw convex polygons
Merge branch 'custom-renderer' into space-deminer