Loader: Implemented AppLoader interface for abstracting application loading.

- Various cleanups/refactorings to Loader, ELF, and NCCH modules.
- Added AppLoader interface to ELF and NCCH.
- Updated Qt/GLFW frontends to check AppLoader ResultStatus.

NCCH: Removed extra qualification typos.

Loader: Removed unnecessary #include's.

NCCH: Improved readability of memcmp statements.

NCCH: Added missing space.

Elf: Removed unnecessary usage of unique_ptr.

Loader: Removed unnecessary usage of unique_ptr.
NCCH: Fixes reduce unnecessary logging and load logo/banner/etc. sections correctly.

Loader: Added ErrorNotUsed ReturnStatus type to specify when something is not used.
NCCH: Added RomFS loading.
Loader: Refactored use of const.
ELF: Refactored LoadInto(..) to use memcpy, removed unnecessary code.
MemMap: Added a WriteBlock function to write a buffer of data to memory.
Loader: Refactored loading functions to only read data from binary if called.

NCCH: Updated LoadExec to use Memory::WriteBlock function to load binary code.