Fix the poor performance in network writing

The poor performance is hit when there is only one active port with a
big packet (> 64k bytes) to write. The network driver will split the
packet into 32k chunks, and only send the first chunk before returning
RD_PEND. When N_wait checks for signals from this port, it sees no
signal (write is not done yet), and thus the wait time is doubled, and
OS_Wait is called.

In OS_Wait, default Poll_Default is called, which goes through all
pending requests for the device. Because the packet is so big, after a
second "write", the packet is still not sent completely, and the status
remains the same: DR_PEND, which causes Poll_Default mistakenly thinks
the device is inactive, and then OS_Wait starts waiting with the doubled
wait time. The wait time could get doubled further until its max if the
packet is quite big.

The fix is in two folds:
1. Introduce a new flag RRF_ACTIVE, to mark the request as active in
case that partial data is written
2. Modify Poll_Default funcntion to check RRF_ACTIVE in
addition to the current DR_DONE/DR_ERROR.

So when the data is partial written, Poll_Default will return "TRUE",
which causes OS_Wait to return immediately, no matter how long the "wait
time" is.
[Makefile] update for serial support
Fix communication in serial port

The original port actions assumed reading/writing was synchronous
Take absolute path for serial port as well

Hard coding part of the path in the interpreter doesn't seem to be a
good idea
Merge branch 'net-poll' into serial-new
Mark port as active when writing is partially done

This avoid poor writing performance in some cases
Do not crash on invalid parameters
More control over serial port

Now these parameters can be set:
speed: baud rate
data-bits: 5, 6, 7 or 8
stop-bits: 1 or 2
parity: 'odd, 'even or none
flow-control: 'hardware or 'software
Fix serials for win32

Only build tested
Merge branch 'atronix' into serial
Merge branch 'atronix' into serial