Add option to re-use single <style> element

This adds the ability for the style-loader to re-use a single <style>
element reference when adding/removing styles from the page. This is
particularly important when you want to use style-loader with a browser
like IE9, which enforces a hard-limit on the # of style tags allowed on
the page at any given point.

This is added as a new option `singleton`, and is automatically turned
on if the browser is determined to be IE9.
Adds documentation of  option
Better solution when combining HMR with singleton tags

Now, instead of assuming a constant length (d'oh), the boundaries of each
style block will be demarkated with a start/end token. When a style is updated,
the CSS block contents in between the boundaries is replaced. If a style is
removed, the entire section is removed. New sections are added to the bottom.
Allow undefined  option
Fix issue with non-singleton tag updating
Handle case of null/empty replacement
Merge pull request #24 from diurnalist/feature/singleton-tag

Adds `singleton` option to allow re-using a single <style> element