EFI: Add more API definitions

Add definitions for the system table, boot/runtime services tables, and
the simple text input/output protocols. Add the -fshort-wchar option to
CCFLAGS which allows us to pass L"..." string literals to EFI, as EFI
uses UCS-2 strings. We use the __attribute__((ms_abi)) attribute on EFI
API functions on x86_64 to use the correct calling convention (EFI uses
the MS x86_64 calling convention). This requires a recent compiler (GCC
4.7 or later, clang 3.4 or later).