Update visibility of paint/water on penmode change
Make sure it's a function before attempting to callback
Massively refactor color/media management, now allows for water paint!
Fixes #99 and at least some part of #89