Always label at the edge of the map
Use the center of the mapBounds, not of the viewPort

This avoids that the grid cell will have corners that are outside the
map's maxExtent, assuming that the map's maxExtent is the validity extent
of the map projection.
Allow chaining of move and rotate
Stop misusing OpenLayers.Pixel