Allow custom path drawings (e.g. not just solid colored lines)

This code defers the actual drawing of the path to the DrawablePath instance, thereby allowing for any custom types to be used and they don't even need to be included in the codebase.

I have added a PR in the TileViewDemo that shows how to use this new functionality:
https://github.com/moagrius/TileViewDemo/pull/1


P.S. I am obviously still having random git issues, and I don't think the changes c9213a1 and fcf6d93 are needed.  if someone can suggest how to get rid of or otherwise ignore them so i can send in only 79b4201 then I will happily re-submit.

PPS I think my auto-formatted might still not be tuned 100% to your style :( sorry for that