fix and DRY out Matrix.prototype.applyToArray()

`.applyToArray()` was not working as documented (it wasn't working at all). this fixes it and wraps an `.applyToPoint()` call so the logic isn't duplicated in 3 places.

my master branch has both, this fix and the proto-fix pull request merged already if you prefer to pull that.

cheers,
Leon