FIX issues with new shortcode parser

Fixes several issues with new shortcode parser

- Properly parses <table> and <select> elements
- More resilient to bad HTML (bad HTML is just passed through & won't have shortcodes replaced)
- Make sure in PHP < 5.3.6 we don't try and pass arguments to DOMDocument#saveHTML