Refactor header initialisation order
Introduce preg32_t and preg16_t data types
Fix initialisation bug affecting 32-bit peripherals (USART)
Fix TIMer and USART register order in the emulator