boot.js DNU handling redesign

This refactors DNU handling in boot.js.

Paths are cleared so it is easier to understand which paths is taken in which situation
(normal, proxy, allowJavaScriptCalls). Shortcuts are taken where it seemed to go unnecessarily
over many calls to get to the same same final result,

Smalltalk selectors are remembered and passed around. After fixing bug (not apparent because
of JSObjectProxy fallback) in callJavaScriptMethod, it was dicovered ST selector is in fact the important one
and js selector is not needed at all after reaching to DNU handler.

Also, st.send is only used for dynamic sending (via perform:), not as part of DNU mechanism.