Refine comments.
Ensure all properties can handle attributes and child nodes.

Note: Attributes or nodes that are unexpected are logged.
Signed-off-by: Alex Zepeda <alex@inferiorhumanorgans.com>
Update .gitignore

Let's commit a Gemfile.lock so we can nail down working configurations.

Signed-off-by: Alex Zepeda <alex@inferiorhumanorgans.com>
Update Gemfile and include a Gemfile.lock.

Update rails and sass-rails to latest stable versions.

Signed-off-by: Alex Zepeda <alex@inferiorhumanorgans.com>
Add a convenience function for defining property handlers.

The keyword prop takes one or two arguments and and a block.  It will
define a function named after the first argument (a symbol) that
populates three instance variables: @attributes, @children, and
@attribute accessible to the block.

Note that next should be used inside of blocks instead of return.

Signed-off-by: Alex Zepeda <alex@inferiorhumanorgans.com>