New console system + small doc fix

Note I've reformatted the functions I touched according to the linux kernel coding style, but left other functions untouched for an overall code style commit later.