[WIP] navigable interpolation

@eric79 I can't get all of the bugs worked out in this, so I wanted to see if I can get your expertise on the navigation. In its current state, the `callModelTransformBy` function is changing the `transform` property to the `navTransform` value and therefore it's setting the `threeObject` matrix as opposed to the `userControlledObject` matrix (user controlled is the matrix handled by user input, the other is the hidden parent that handles model transform changes and can be interpolated). I tried changing it and having `callModelTransformBy` just call `setProperty` on the `navTransform` property. That seemed to work, except that the model transform changes unexpectedly stopped after I used the mouse to control the navigable object (in this case a follow target function based on the `transformChanged` event of the target).

NOTE: This will not be merged.