cleanup

* refactor of primitive draw methods
* adds line drawing

Signed-off-by: tgfrerer <tim@poniesandlight.co.uk>