[wip] Have animation frames not be trigged when not receiving device frames

The current behavior of LeapJS in the browser is to have the 'frame' event emitted for every animation frame, regardless of the leap device.  This PR changes that behavior, such that 'frame' events will only be broadcasted when new devices frame data is available.

For example, 'frame' will no longer be broadcast after controller disconnect.

This seems good unless people are relying on the leap loop as their main graphics loop, relying on animation when deviceFrames are slow or after controllers disconnect.  If that is the case, perhaps this should not be merged.

@joshbuddy @thehen ?