main.js working on auto restart after timeout

need timeout callback, and then the following might work:

game.state.start(game.state.current);
main.js timeout state restart and dashboard layout

working on restart after js timeout from inactivity, tweaking layout,
deleting unnecessary variables
main.js display sensor IDs within sensor frames

detect which sensor ID # is for which sensor type connected, and then
display these ('S1', 'S2', 'S3', etc) in the upper right of the frame
of each sensor that's connected
Merge branch 'John'
main.js grey-out frames for sensors not connected

added to setSensorIDs function

need to fix it when you switch to a bot that has fewer sensors than the
previous one, so that more frames are greyed out and then sensor IDs
are removed
Merge branch 'John'
main.js implementing api with js channel messages

we need to send commands (publishing them to the channel) like:

channel.publish({
  "type" : "js",
  "js" : "bot.beep()",
  "recipient" : "487db8bd-7db7-46b7-8eae-1edc5d063ead"
});

so we can do:
channel.publish({
  "type" : "js",
  "js" : "bot.beep()",
  "recipient" : botId
});

and then inputting the code like bot.beep() into the text editor we can
just send this after clicking "submit"

channel.publish({ "type": "js", "js": evalCode.toString(), "recipient":
botId });

In the current build of the gigabots firmware, code can be:
"bot.beep()" --> plays a single "beep"
"bot.sing()" --> plays a sample of "Daisy Bell"
and with motor 'a' as an example:
"bot.a.rotateTo(100)" --> rotate motor 'a' to 100'
"bot.a.rtz()" --> rotate motor 'a' to 0'
Merge branch 'John'
Merge pull request #13 from dibaggioj/master

Update main.js API implementation