Treat whitespace-only lines as empty

Lines consisting only of whitespace should be parsed the same as empty lines. Fixes issue #1.
Support EventEmitter-based interface

If the option events: true is passed to fountain.parse, then return an event emitter that fires an event on every token type.
Support an event emitter based interface