runtime: Add two notes on progmem usage
runtime: Allow to disable debug messages

Shaves 350 bytes off PROGMEM
Use "make NO_DEBUG=1"
runtime: Add MICRROFLO_ASSERT/RETURN_IF_FAIL macros, use for debug

Moves the debugLevel runtime logic into the DebugHandler (HostCommunication).
Allows to also remove the predicate when building with NO_DEBUG,
and and gives code with less indentation levels.
Shaves 150 bytes off PROGMEM
runtime: Use RETURN_IF_FAIL macro in Network::deliverMessages
runtime: Also disable building of the code sending debug message with NO_DEBUG

Is not used in this case anyways.
Shaves almost 100 bytes off PROGMEM
Build with -fshort-enums

On AVR8, shaves off more than 1kB PROGMEM for the full component set,
due to port identifies now being 1 byte instead of 2.
components: 8bit-ify what can be

Faster and saves a couple of bytes PROGMEM
Introduce new component API for pure functions

Reduces code for such simple components drastically, because
previously they all followed and duplicated the same pattern.
Shaves off some 100 bytes of PROGMEM