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 an REMarker protocol.
Also for backwards compatibility and convenience I did not delete the REMarker class, but it conforms to the new protocol now.

This makes it possible to use existing Models by just adding <REMarker> to them. Then you also don't need the userInfo anymore. The markerId is also not used internally, so both are not part of the protocol.