Support more boards. Add example for input from Arduino Mega.

Query the analog mapping to find out how many analog channels there are, and request that all of them be streamed. Enable all 16 possible digital ports; the firmware won't send ones that don't exist.

Also, changed to explicitly call the Firmata processInput() function from the serialEvent() function called by Processing, rather than having Firmata spawn a separate thread to poll the serial port input stream.