Template test case for graphic contexts

This is a PR that factors out a template test mixin to be used for testing the basic functionality of the kiva backends. This PR based on the work of peowebster:test/drawing-tests

pending:
- [x] add all the current kiva backends
- [x] update dependencies for travis-ci builds
- [x] fix errors
- [x] cleanup

Should you re-raise above if the pyglet import fails? Otherwise, you'll die when you get here.