Reduce overdraw by hashing points.

This pull request reduces memory consumption on visualization of very large models by reducing the number of stored points and normals. ASM sends triangulated meshes that have duplicate face vertex coordinates and normals. This improvement hashes the location and normal of a vertex and does a lookup before storing if another vertex has the same location and normal.

@pboyer ptal.
Hi @ikeough, I tried the ```hash``` thing and this is what it looks like for my case, do you think we can reliably use ```double``` for formatting?

```
2.01496505737305:8.70464897155762:-73.5696563720703:-0.82298469543457:0.5624680519104:0.0795354768633842
```