Fixed scenarios where the cam was shaky or slow

Removed distance output because the data it used to output was removed
some time ago.
Cleaned up and optimized code.
Fixed several cases where the camera was shaky and couldn't keep up with
the contraption. Fixes #654
Made it not sync immediately. Previously, you couldn't update both the
position and angle in a single tick. It now waits until the end of the
tick to sync, in case you change other values in the same tick.