Decoupled map view with and without annotations, added tests.

This is prep work for https://github.com/neilang/NAMapKit/issues/13, we want to simplify the map view and annotation interface, and give the annotation view to the annotation to deal with fully.

* Tests that load the various demo project items (menu, and each map) and compare snapshotted images of those. Uses https://github.com/dblock/ios-snapshot-test-case-expecta.
* Split `NAMapView` into an `NAMapView` and `NAPinAnnotationMapView`, we want pins to be a minimal interface that is basically a point and a view, and you can implement more complex scenarios like the one where a pin has a callout in subclasses. I am totally open for a discussion on what those base interfaces should look like - we can get this right now.
* Annotations mostly take care of themselves now. A lot of pin annotation logic has moved into the child `NAPinAnnotation` and `NAPinAnnotationView`.
* The interface around observing size changes is clearer, annotation views no longer have to observe size changes.
* Fixed iOS deprecation warnings.
* Wrote some README explanations on how to use `NAMapKit`.