Changed dot rendering to use a circle shader.

This gives much better looking results, and with cleaner code.
Merge remote-tracking branch 'dgym/master'
Shader code lives in its own module