New tests for smart parser

**Changes**
1. Added and reorganized tests for the smart parser.
2. Fixed typo in Unexpected Character error.
3. Deleted unwanted sax/base_test.rb because it was a duplicate of sax/sax_test.rb
4. Fixed some tests that were for the DOCTYPE

**Issues**
1. Some tests that are for void elements are not passing due to the fact that Ox tests whether a certain element can be a child of some parent. For example the following fails:

```ruby
  def a_test
      html = %{<html>A terminated <area> text</html>}
      parse_compare(html,
        [
          [:start_element, :html],
          [:text, "A terminated "],
          [:start_element, :area],
          [:end_element, :area],
          [:text, " text"],
          [:end_element, :html]
        ])
  end
```

which should pass taking into account that the area element can be a child of the html element.