Map display expansion to support costmaps

@dgossow can you look over this change?  This makes the map display type support costmaps nicely.

@DLu wrote a new display plugin called CostmapDisplay which was similar to map display but supported: 1) an adjustable color scheme and 2) OccupancyGridUpdate messages so you didn't have to send the whole grid every time a little bit changed.

This map display change incorporates the OccupancyGridUpdate support and a version of the colormap change.  Unlike the CostmapDisplay, this change runs really fast because it uses an image with the costmap data in a texture, and additionally uses only an 8-bit texture with an indexed RGB colormap which gets incorporated in a shader program.

This makes it fast enough to keep the "global costmap" on display in rviz, which is a big help for navigation work.

This doesn't have the user-adjustable colormap, but that could be added if it seems important.  It would fit easily into the code I think.

@DLu, if this is merged into RViz I would delete the costmap display from the nav stack for hydro, unless that seems like a bad idea to you.