Completed compile demo

This merge request includes now-usable compile demo for jor1k. We don't expect to make any more significant changes to it, as it's really usable.

Some notes:
Added myself and Neelabh as contributors and smartened up the compile.html header/footer.
Added homepage link to compile.html and vice-versa

js/master/compile-demo.js is unused so has been removed.

see the commit logs for more details.

Note terminal.js now publishes an put-char event,
so that we can capture the gcc output and display line-specific marks and info against syntax errors:

document.dispatchEvent(new CustomEvent("jor1k_terminal_put_char", { detail: { character: "\n" }}));
This mechanism is also used to send a single return char to the terminal once the 'active this terminal' message has been displayed.

compile.html still includes two unused and broken ways to send chars to the kernel:
````
	   case 1: // dd - does not work
	     SendKeysToJor1k("dd ibs=1 of=prog.c count="+code.length+"\n");
	     SendKeysToJor1k(code);
	   break;
	   case 2:  // cat - does not work
	     SendKeysToJor1k("cat >prog.c\n");
	     SendKeysToJor1k(code);
	     SendKeysToJor1k("\x04"); //  why does this not work?
	   break
	   case 3:  // brain dead echo does work
	     codeArray= code.match(/[^]{1,256}/gim); // Avoid 1K line-limit (assume escape expansion) so split programing into shorter chuncks
	     for(var i=0; i < codeArray.length;i++) {
	          // For happiness, escape *after* splitting
	          var escaped = codeArray[i] .replace(/\\/g,"\\134").replace(/\t/g,"\\t")
	                   .replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/"/gm,'\\"');
	          //Todo Handle all chars in the sent file i.e. replace <=0x2f with \xnn

	          SendKeysToJor1k('echo -n -e "');
	          SendKeysToJor1k(escaped);
	          SendKeysToJor1k('\">> prog.c\n');
	     }
````
It would be nice to at least understand why these methods fail with jor1k.