Parsing algorithm foundations

This (already) doesn't exactly comply with the
[Fountain spec](http://fountain.io/syntax#section-action) re: vertical
whitespace, but it simplifies the algorithm greatly.  It's a silly
requirement anyway >:(