Optimize|Map Renderer|SurfaceDecorator|Client: Batch surface redecoration by material

Material preparation is potentially expensive, involving resource
searches and/or variant specification matched. To avoid this cost
when redecorated following a material change, SurfaceDecorator now
batches work by material.