cleanup julia_init options

moves all configuration options into jl_compileropts
compute the abspath/realpath of file paths in the config to avoid issues with chdir
Modal prefix history search.

Attempt to deal with down arrow better at end of history.
Refine prefix matching condition to consider mode changes as different.
Pass thru keypresses to parent mode.

Update lineedit test for new usage.
Cleanup some mess with types in LineEdit.jl
Use parent prompt indent.
Remove one unnecessary layer of anonymous functions.
Passthru escape sequences.
Preserve mode when editing history.
Drop unknown codes at REPL.

Better than producing an EOF error.
Keep cursor at prefix position.
simplify initialization / startup / embedded / task-switch api
code cleanup
implement RandomDevice RNG
fix #8137
fix #9206 and partially fix #7910
remove extraneous gc root in start_task
allow the user to specify whether the image_file should be interpreted relative to JULIA_HOME or CWD
update embedding doc to be consistent with changes to julia_init
some more init cleanup, and comments