pc_serial: WIP: kinda supports writes through tty module

It's still not fully working, and the tty module doesn't help
since it's not callable from an irq handler.
pc_serial: convert irq handler to use DPC

Let's hope we won't loose data because it.

We have to cache the value of IIR read from IsInterruptPending(),
because some conditions are acknowledged only by reading it...
pc_serial: manually probe the default ISA ports

Since config_manager is basically a stub, and even VirtualBox
doesn't publish the serial ports as PCI devices, we must probe for them.

Ideally config_manager would find them in the device manager tree
which would have been populated from the PnP BIOS or even ACPI tables...
pc_serial: try to skip the port used for kernel debugging output

Not that easy to handle all cases correctly,
but should work for the default case.
pc_serial: use the tty module directly from the deferred IRQ

It still crashes on close sometimes but writing seems to work.
pc_serial: fix KDL on close

It's working \o/
Just need to figure out why it waits for \n to transmit.

We now only destroy the cookies in the free hook.

Mention pending DPC as soon as when inside the irq handler.

Also limit the number of loops in the IRQ handler to avoid busy looping.
It only happened when testing with normal priority but you never know...
pc_serial: invoke scheduler when queuing DPC

We really want this to be done ASAP...
pc_serial: add a termios member to store config across open cycles
pc_serial: break instead of continue in irq handler

We don't want to busy loop, do we?
pc_serial: skip waiting for pending DPC in free hook

Since it's possible to fail queuing them, the count doesn't go down to 0,
and the process just hangs forever on exit. It might not be necessary anyway.
pc_serial: try to enable 64 byte FIFO

We should probably detect the UART type properly first,
but the IRQ handler also checks for the available FIFO length anyway.
HaikuWebKit 1.4.3.

Fixed for real, this time...