Update to support optgroup tags

- options can now be nested inside optgroup tags
- removed js adding .hover class to li elements -- css :hover
pseudoclass is much cleaner