Change state

- Removes state visibility modifier
- Adds new state to list
Refactor pull to a more state-like structure

- Moved some methods out of the `pull` method and into `parse_char`
  method
- Add parsing when in start tag and when in attribute list
Fix error in test

- Reference needs to end with `;` char