Shape renderers use generic state

 - Exposes subclass defined state class
 - RectRegion and Vector2 fixes