Refactoring and W3C tests

- Moved core of interpreter to support various versions
- Added experimental setConfiguration()
- There can be more than one initial state