Navigation went straight to the runtime, so a launched app inherited the
previous one's rotation, fullscreen state and viewport, and logged nothing.
Boot and navigation now share prepareForApp/settleNewApp.
Documents the new architecture: the shared platform in lib/esp32-lua-api,
providers in src/host, and the /.lua card layout.
Replaces the firmware's own lua_State, bindings, module loader, node tree
and navigation history with lib/esp32-lua-api. What is left in src/host is
the hardware behind the provider interfaces plus the chrome the firmware
owns: the viewport, the status bar and touch polling.
src/lua became src/host because src is on the include path, so a directory
named lua shadowed the library's <lua/providers.h> and #pragma once then
silently skipped it.