feat: Allow injectable metadata to be a children an of injectable annotation

fixes #181
perf(Binding): saves a call to `reflector.parameterKeysFor()`

When toImplementation is specified, the class is instantiated via the
`new` operator and then the ctor must have no arguments. Then there is
no need to call `parameterKeysFor` as it will always return an empty
list.
feat(Key): support annotations in addition to annotation types
chore(pubspec): release 3.1.0