Version 3.0 initial work.

- Less memory.  Using proper javascript inheritance.
- Paved way to make API more elegant.
- Fixed some memory leaks.
- Better options, both in name and functionality.
- More strict mode.

- Preferences automatically migrated.