added module::get_keyboard_state and added event::main_loop