added require.js
prefab and tests as modules
added runner
accept additional argument of properties to augment the newly created instance