Huge refactoring. No longer requires emulators to be bundled with Ice, and can download them from remote locations. Also represents emulators as complex objects instead of paths, which gives them much more flexibility