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.  
Can the git presubmit hook be added as part of this commit?

On Mon, Dec 15, 2014, 12:32 AM salomegeo <notifications@github.com> wrote:

> In package.json
> <https://github.com/uProxy/uproxy/pull/660#discussion-diff-21806405>:
>
> > @@ -47,7 +47,6 @@
> >    },
> >    "private": true,
> >    "scripts": {
> > -    "test": "grunt test --verbose",
> > -    "prepublish": "grunt test"
>
> I agree running test on npm install is annoying, and we do need
> git-presubmit
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/uProxy/uproxy/pull/660/files#r21806405>.
>