Fix encoding issues by avoiding val() in selectors, hybrid optgroups and options on the top level, and supports label attributes on <option> tags.

Fixes #39, fixes #40, fixes #41.