troopjs-core tests get updated

1. update tests to make sure it works with latest framework signature changes
2. fix a couple bugs in gadget test cases, correctly clean up after test done.
3. make test more readable with hierachical structure