html: use insertion mode instead of state

The HTML5 tree construction algorithm [1] is done using a parse
state tracking variable called the "insertion mode" [2]. This
parse model does not have the parse state as a stack, but as a
well-defined state machine.

As such, the stack of states is removed and is replaced by a
single state variable that has been renamed to 'mInsertionMode'
to follow the WHATWG HTML spec.

This also means that the context information associated with
a state is no longer present. Thus, any states/modes that
require this (e.g. tracking counters in lists) needs to be
done a different way.

[1] http://www.whatwg.org/specs/web-apps/current-work/multipage/tree-construction.html
[2] http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html#parse-state