Support for primitives

- added element for drawing primitives
- added support for zoom and rotation to visual elements
- refactored map/world slightly to start adding actual data
- slight refactoring here and there