performance

* firebase shooting out request from buffer with a configurable delay: upstreamMinIntervalMilliseconds
* kinetic holds and active layer that gets redrawn and pushes old shapes to a background layer
When I understand it correctly, it is checked on all remotely performed actions (the ones originating from the local user are excluded) and if the last point in the shape.points array is outside the current viewport, the view's adjusted. There is no differentiation between actions from different users. So when two different remote users draw at the same time, the viewport probably will jump between both "spots of action". I know we agreed upon not covering multi drawing scenarios, however, it would be nice to restrict the "follow action" mode to actions from a single user at a time, in order to inhibit other users to "steal" the viewport ;)