This patch reorganizes the terminal's source code to become easier to extend. It also enables the strict warning level.
Fixes #1479
This patch changes the top-level directory layout as a preparatory step for improving the tools for managing 3rd-party source codes. The rationale is described in the issue referenced below. Issue #1082