Tms Layers should support the origin property

The attached patch allows TMS Layer to support a non 0,0 tile origin.  The TMS spec has already made allowances for this via the origin property (see http://wiki.osgeo.org/wiki/Tile_Map_Service_Specification ).  This continues on the previous work to allow Tileable layers to support a dynamic origin.

I'm likely exposing an inconsistency with the use of origin and tileOrigin... origin is valid via spec, tileOrigin is what had been used before in other layer implementations.  This patch accepts both.  Perhaps this could be better handled with a helper function or an extension to PJSONObject...

Tests are also included that validate this new functionality as well as the default, no origin use case as well.