Added an optional custom InfoWindowAdapter

Added an optional custom InfoWindowAdapter that passes the ClusterPoint to its methods.

I needed to use an InfoWindowAdapter for the balloons, but the official Adapter only gives the Marker as parameter, and because of my layer architecture I couldn't do much with it. So I decided to use the same pattern that you use for other listeners, and it works like a charm.

I tried to mirror your code style and comments in case you want to merge this feature.
Awesome library, by the way ;)