Context

Fixes #8.

Adds a new interface that custom annotations may implement to get a context injected at runtime.