Refactor viewer to use pyglet -- much faster and cleaner !