devdocs notes on memory layout and runtime initialisation

Some notes I made while learning about runtime internals.
Maybe useful for other new developers.
But maybe misleading because eggnog :)

i don't mind if you want to make this relatively concise, for example, putting most of this as a comment in `_julia_init`. however, while this documentation is currently accurate, it has only been correct for about 2 weeks on master (since #9266) and parts of it will change again when #9450 is merged. that makes me very hesitant to point to specific line numbers or implementation details. i think adding this as a comment in the source code would provide a more concise overview of the `julia_init` function (for example), than trying to look at each of the functions that it calls. for a user looking to understand the code flow, I think a basic understand of `ui/repl.c` (or `examples/embedding.c`) might be a sufficient starting point in a few words:

```
1) parse arguments
2) initialize libjulia (for options that affect code generation or early initialization)
3) calls Base._start()
4) call atexit hooks
```