Fixed bad centering when `view.center` and `view.zoom` are changed

When either of the following pieces code is run:

    view.center = [0, 0];
    view.zoom = 10;
    console.log(view.center);

or

    view.zoom = 10;
    view.center = [0, 0];
    console.log(view.center);

`view.center` does not come out as `[0, 0]`.

This is due to some missing coordinate transforms. This patch fixes this.

---

One thing that this patch suggest is a need for `Matrix.transformVector(v)` which is implemented as

	this.transform(v).subtract(this.transform([0, 0]))