Track output values without waiting for a report

In particular, if there are no "input"'s on this port, we were never
updating an output value, which is clearly wrong due to the "port"
write semantics.
Further work on LCD

LCD is now responsive, but the characters don't come out correctly yet