split shared dependencies into separate lib.js

this depends on having a shared.js file that simply requires external
libraries we want to split into an external library
register common libraries so they are always available