Add layouts

This branch adds layouts to Hyperloop, just like how they work in Rails.

It also brings in Nokogiri so we can test the actual contents of DOM elements, rather than just regex matching.