improving nested options handling + misc

- redoing nested option extraction to better support nested objects in objects, keep track of options path for more accurate type discovery
- updating igTree bindings sample to match the options object
- updating tree test
- adding bower_components to gitignore