* [init] Disable GUI elements in early-init as well
Can provide a smoother startup by reducing graphical artifacts.
* [core] Add file for early-init functions
Needed to make the tests to work as early-init.el is not sourced
during tests.
Fixes error:
Symbol’s function definition is void: spacemacs/removes-gui-elements
Before Emacs 27, the init file was responsible for initializing the package
manager by calling `package-initialize'. Emacs 27 changed the default
behavior: It now calls `package-initialize' before loading the init file.
This behavior would prevent Spacemacs's own package initialization from
running. However, Emacs 27 also loads the "early init" file (this file)
before it initializes the package manager, and Spacemacs can use this early
init file to prevent Emacs from initializing the package manager. (See
<http://git.savannah.gnu.org/cgit/emacs.git/commit/?id=24acb31c04b4048b85311d794e600ecd7ce60d3b>.)
Earlier Emacs versions do not load the early init file and do not initialize
the package manager before loading the init file, so this file is neither
needed nor loaded on those versions.