Addressing issue #38 implementing grouped items handling.

Just a quick implementation of option groups. It groups items according to 'optgroup' wrappers in the DOM and automatically creates a group for ungrouped items labeled as 'ungrouped'.