Breaking change: Distinguish methods from properties in declarations

The previous API was really easy, but required a lot of inference that
screwed up the ability to call super in overridden delegated methods.
I've decided to go the other direction and make everything really
explicit, which also removes my (possibly unfounded) concerns about
efficiency.
0.4.0