Feature/selection

From Bryan:
- using [rbush](https://github.com/mourner/rbush) for spatial indexing on selection masks
- streamlining code for rendering
- de-duplication of legend code
- refactored/simplified screen/view/data spaces - 
    - screen space, top left is origin, convention is sx/sy in the code
    - view coords, bottom left is origin, convention is vx/vy in the code
    - data space is unchanged

@bryevdv please add if I left anything out