text: Title: Perspective projection in 3D should support picking and other UI interactions
  Body: Please feel free to close this as duplicate but I actually couldn't find an existing issue.
  
  Whenever `viewer.camera.perspective` is nonzero, `layer.get_value` doesn't return the correct value and tools like selection or painting don't work at the correct location. That's because the coordinate transformations involved don't use the perspective projection matrix, so they don't match what's going on on-screen.
  
  We should be able to synchronise our transforms reasonably easy with whatever's going on in VisPy. The best explanation of the current situation is currently found in [this Zulip thread](https://napari.zulipchat.com/#narrow/stream/212875-general/topic/event.20position.20when.20camera.2Eperspective.20!.3D.200/near/423847251).