added more features

1. User selected Animation
2. fix for working with select-optgroup-option structure
3. callback after open and close
4. keep original select element on page visible (with height/width 1px) to provide any callback based on the select values on the element (needed this to work with existing event handlers that depends on values on these elements)

TODO:
- update destroy
- cleanup