Add 'function annotations' mode to support function dependencies

Here's the proposed implementation for issue #24.
I would prefer the default behavior to be to explicitly opt to not inject dependencies, instead of opt in to have them injected. So this would be something like `(not options.useFnAnnotation or not func.noInjection)`. That variable name sucks, but this means the consumer would be able to explicitly opt-in to changing the existing injection behavior by doing

```CoffeeScript
container = dependable.container {useFnAnnotaions: true }
myRadFn = (beans) -> console.log beans
myRadFn.noInjection = true
container.register 'hurp', myRadFn
```