Factor out write_4bits() method - needed for initialization.
Account for RAM addr update time in write().
Make sure that HD44780 by default is in data mode.

This is required for Console to work as expected.
Add proper initialization, with reset.
Add NullPin::output().
Add toggle() for GPIO AVR.
Fix *gross* integer overflow due to operator priorities in delay_us().

Most annoying is that it was already fixed for delay_ms().
For help with debugging, blink LED too.

Also, use Arduino connection on single port.
Error out if inline functions is not handled properly (will cause 0 delay).
Typo fix in comment.
Update supported targets.