C3 Work in progress update

* Moves C3 code to code/WorkInProgress.  Instead of replacing computers in place, I am putting C3 in /obj/machinery/computer3 for lack of a better option.  This maintains backwards compatability and means that I don't have to finish absolutely everything, which was kind of hanging over my neck like a guillotine.

* New Computer3 sprites by Dalmationer.  This includes new laptop sprites, a modified default terminal, several department terminals, and servers with and without consoles.

* Changes browser datums to accept a top-right button.  All computer3 programs use this to allow a "quit to OS" button, allowing you to use a computer for multiple programs, gracefully.
* Changes the way computer components are handled
* Changes to program strucutre.  The interactable() proc on programs should do all sanity checking, and program/Topic() has meaningful entries (quit, close, runfile, eject_disk, eject_card) and should be called by all programs.  interactable() also sets up the browser datum so that it can be used consistently across all programs.
* Provides server computers in addition to laptops and wallframes.  Not currently used, however.
* Ports additional computers to C3