viewport improvements

* Get rid of `Crafty.viewport._zoom` which is synonymous with `Crafty.viewport._scale`. There is no point in having two properties that are always equal to each other.

* Eliminate temporary-object-creation in Crafty.viewport.rect(), by making a persistent object. (To avoid unwanted interactions, this object should be read-only, which required me to edit diamondiso.js.)

* Improve documentation