Wrong results when parsing mixed-case tags

Prior to this patch, I got different results for these lines:

`<html><head></head><body>foo</body></html>`
`<html><head></HEAD><body>foo</BODY></HTML>`

Now you get the same thing for either of them:

    [ { raw: 'html',
        data: 'html',
        type: 'tag',
        name: 'html',
        children: 
         [ { raw: 'head', data: 'head', type: 'tag', name: 'head' },
           { raw: 'body',
             data: 'body',
             type: 'tag',
             name: 'body',
             children: [ { raw: 'foo', data: 'foo', type: 'text' } ] } ] } ]

All of the tests still pass.