Keyword parameters using Ruby's kwargs

This implements the feature described by #65 by taking advantage of the introspection capabilities found in Ruby.

The following reference semantics are now in place:

- A reference *must* declare a dotted parameter if the presenter method has a required positional parameter.
- A reference *may* declare a dotted parameter if the presenter method has an optional positional parameter.
- A reference *may* declare a keyword argument if the presenter method has a keyword parameter with that name. The value will always be a string, which can be quoted using single or double quotes.
- Anything else is a compilation error.

The syntax will be:

```
{{widget.button width=80px height=20px}}
```

```ruby
def widget(type, width: nil, height: nil); end
```