Improve zoom

@jbeezley Please review the branch. Basically you should be able to zoom in three ways: 

1. double click
2. right mouse button + directional slide
2. mouse wheel