Implement the map pane

This implements the map pane with a simple chaco view of the lake and survey lines.

It also implements a simple HDF5 data store for caching data so the binary files don't need to be read every time.  This isn't complete, but could be the start of our data storage format.  The interactions with the HDF5 file are all in the `survey_lines` module now, they should be refactored out to somewhere more general as we decide how we're doing this.

This still needs work, in particular two glaring issues:

* There should be a `SurveyManager` object or similar to share state of the application between panes.  Right now the map pane only has access to the survey, but can't get the selected lines from the survey task.
* The `LineSelectTool` relies on having a list of the chaco line objects to act on.  It should work on the selected lines of the survey manager instead.