Simple but effective performance improvements

Me and @shunter found some areas of the code that were causing major slow-downs and memory churn.  There is still plenty of room for improvement, but these targeted changes help out a lot.

1. Interpolation proved to be a huge part of memory churn, so this change adds result parameters for them and updated the one function using them to use result parameters. (NOTE: Hermite is still a problem but is not often used and needs a larger refactor that we'll do another time).

2. DynamicProperties with constant, infinite values were doing way more work than necessary and now do almost no work. (fixes #411).

3. There was another widget layout issue in Animation.js that was missed with #617 

4. There was a bug in VertextBufferFacade were it was recreating buffers every frame. This was because of a re-named variable that was never updated.

5. Minor tweak to BoundingSphere where it should have been using a scratch parameter but wasn't.

6. Improve billboard performance and memory churn. Rather than push billboards onto billboardsToUpdate and then throwing away the entire array every frame, this maintains a long-term billboardsToUpdate array and simply tracks the current index.  This reduced GC churn but also turns the push into an index assignment, which is faster.

7. DynamicObject.isAvailable had an obvious duplicate computation in it, which I removed.

8. Apps that use mouse over picking would see performance issues when using a large number of billboards.  This was the result of `computeNewBuffersUsage` being called during pick, which would result in all usages being set back to `STATIC_DRAW` and the `VertexArrayFacade` being recreated every time the mouse moved.  This changes it so we don't call `computeNewBuffersUsage` on pick passes.

9. Optimize usage of `FrustomCommandList` in the same way we do for billboards in 6, above.

To compare performance, I used Chrome's profiling tools using FAA.czml (available in the website Gallery directory). I found 1800x was a good speed for causing performance problems.  Garbage collection goes down significantly, as does the amount of time spent in the above areas of the code.