orbit camcontroller: add upper limit for camera distance.
camcontroller: introduce different modes of mouse interaction.