Separation of concerns

Hi!

I was only going to add InfoWindowAdapter and one thing led to another...

Hopefully I have separated and hidden things better. Grate API changes but that is what version 0.2 is for I hope.

Regards Stefan
(ignore my "adjust gradle" commit, will try to learn to branch away stuff in git any day now)