including implementation of `Rectangle(...)` and supporting methods, making `Draw()` a method of `Canvas`, other crap.