Explicitly specify dependencies with inline annotation

Specify dependency injection with inline annotation
in case javascript minifying goes wrong.
Rearrange code layout to make line width fit in 79 chars

Signed-off-by: Lance Chen <cyen0312@gmail.com>
Adopt nodejs package and gulp

Construct a nodejs package and adopt gulp to
provide better developing and deploying experience.

Signed-off-by: Lance Chen <cyen0312@gmail.com>