Make tile_layer_test pass

As you suggest, the API could be made a lot more convenient by using named parameters in some places.  I just switched from Map<String, Object> to classes so that we could have some type information.  Possibly only MapOptions has too many fields to warrant use of an object.