Changes to better support newer versions of IE and HTML5.

* Detect when controls are "empty" and adjust rendering of start and end tag accordingly.
* Modify writing of begin and end context markers for linking to use option tags within select elements (regardless of browser), since for some reason IE9 will not parse comment nodes within a select element.
* Don't remove elements and attributes if not necessary in order to limit DOM manipulation (also helps with troubleshooting), elements as context markers are an exception since they may be rendered by the browser even if given CSS styling to attempt to hide them.
* Get rid of IsIE property of the page class since it is no longer needed.
* Change Render and Abort signatures to accept string[] instead of IEnumerable<string> to avoid multiple enumeration.
* Fix bug in check for IEnumerable types in template matching logic.