Support orphan functions on the right side of assignments

* js2-imenu-extras.el (js2-imenu-extras-setup): Use the new hook
instead of `js2-post-parse-callbacks'.
(js2-imenu-record-orphan-function): Rename, update the caller.
(js2-imenu-record-orphan-assign-node-function): New function, to
handle orphan functions on the right side of assignments.
(js2-imenu-walk-ast): Use it.

* js2-mode.el (js2-build-imenu-callbacks): New hook variable.
(js2-browse-postprocess-chains): Use it.  Make it take no
arguments and be aware of `js2-imenu-recorder'.
(js2-wrapper-function-p): Check that the wrapped function is the
call's target.
(js2-build-imenu-index): Run `js2-browse-postprocess-chains' even
when `js2-imenu-recorder' is empty.  It might get modified in
callbacks.
(js2-browse-postprocess-chains): When skipping a function, remove
its entry from `js2-imenu-function-map'.

Based on
https://github.com/redguardtoo/js2-mode/commit/efc5d4704d260522d04b5642c844711ba1cfc7f7#commitcomment-8441004.