Use protocol instead of class, so you can use existing model objects

Basically you could just use `id<MKAnnotation>`, but for nicer semantics, I created a REMarker protocol.
Also for backwards compatibility and convenience I did not delete the REMarker class, but instead it still exists and conforms to the REMarker protocol now.

This makes it possible to use existing Models by just adding `<REMarker>` to them. Then you also don't need the userInfo & markerId anymore. They are not used internally, so both are not part of the protocol (but still of the class).