Component function options and use of Ractive.defaults

Initial implementation for use of a function as a component or default option. See tests for examples.

@Rich-Harris let me know what you think and if we need to change anything. I'll be happy to write-up doc's once I know we're headed in right direction.