fixes for dependencies and freedom typing

This mini-pull request (against freedom_0.6 branch) is intended to show a way to use the freedom object as a constructor instead of a function and thereby unify usage of it (The function/constructor duality makes it a bit tricky to know what the type of the freedom object is). This solution makes the Freedom type a Thenable of the function that then gives the on/emit interface for constructed module. 

TESTED: 
1. sym-link uproxy lib from https://github.com/uProxy/uproxy-lib/pull/95 into node_modules
2. grunt test
3. Load up uproxy in Chrome and observe no errors. 

before submission, will need to update uproxy-lib npm and depend on the update. 

This pull request is just a demo for @salomegeo to help unblock the typescript faff being fought with.  
I agree running test on npm install is annoying, and we do need git-presubmit