new HamlHX implementation for Airship 3.1

HamlHX now uses propeller_crate.Propeller to evaluate any expressions, variables, and run helper methods through context:Dynamic.

HamlHX supports {{ propeller }} style content injection

HamlHX supports {{ if something }} style logic control blocks

HamlHX supports {{ foreach iterable }} style loop control blocks

HamlHX no longer supports { single => "propellers" } for attributes, nor does it support hash=>rocket style key/value pairs

HamlHX now only supports ( json : style ) key/value pairs (needs more testing with multiple k/v pairs)

HamlHX now takes input:String, context:Dynamic, ?filename:String just like propeller_crate

added HamlHX.PRETTY_HTML setting to render html in an easier to read format, at the minimal cost of a few extra calls.
PRETTY_HTML is enabled by default and can be overridden.

HamlHX !!! default doctype is now html5
can be !!! 5 or !!! html5 (synonymous)

removed leading space in PCData
%span my text
now renders as
  <span>my text</span>
instead of
  <span> my text</span>

error reporting still needs work, removed dependency of Fly-By-Night when testing in
-D standalone_haml

added tests similar to propeller_crate