Use highp precision when available for GLES

This is a fix for the shader precision issue in #46. It tries to use highp but falls back to mediump if necessary.

I made a .gif to illustrate the difference:

![hi-vs-med](https://cloud.githubusercontent.com/assets/27721/3210465/4501c75e-eec4-11e3-9ae1-59768283048f.gif)