Embind js library without prefixing

This fixes issue #2395 among other things. It converts embind to use JS libraries and upstreams some subsequent changes that were made to embind at IMVU.

cc: @juj @chadaustin

This is passing tests for me locally.
this is inside `addFromLibrary`, which adds not just functions. So a variable called `functionName` is misleading. Perhaps `fullName`?