js: Support invalid javascript

When attempting to parse invalid javascript, the prior implementation
would throw.  This patch ignores errors and returns an empty array of
`deps` instead.

Closes #4.
 
--

@MatthewMueller I've only pushed this patch up because you've asked for it.  IMO, failing silently is *never* the right thing to do.