Gradients

Adding gradient support to our SVG library.

Still needs:
- Tests
- A better api for setting gradient angle
- some other stuff...