Multi-threading Commit
Merge pull request #76 from nfmangano/master

Hotfix for UserList images
-Many many fixes to list and multi-client
Merging Byron's "Intentional Interfaces" updates
-Updated draggable BubbleMenu buttons to not use their own mouse listener
-Updated various BubbleMenu behaviors to be cleaner.
-Disabled all mouse buttons of canvas other than left mouse button.
-Updated palette menu button to conform to new format.
Merge pull request #79 from waynehuang3/workspace2

Major stability update
*Issue #3: Updated brush sizes
-Updated plugin toolbar buttons
-Added button is pressed highlighter to all sidebar buttons (except EXIT)
-Fixed email grid button behavior
-Added comments to various classes
*Issue #78: Fixed various text scrap behaviors
-Increased smudge detection radius
-Moved hit circle slightly down the path of the stroke
-Fixed adding images from URL via text scrap dialog
Merge pull request #83 from waynehuang3/workspace2

Stability/UI/Consistency Update
New icons
New tag panel, and stub of the link panel. Tag panel draws and responds
to mouse clicks, but has only superficial wiring.
*Issue #80: Server now removes a user's temp scrap if the user quits/disconnects
*Issue #81: Server now properly reports temporary scraps to joining client
*Issue #82: Copy/Move canvas now ignores temp scraps and all their children.
-The stroke that creates a temp scrap no longer because "hidden" by changing its visibility. That was causing a variety of issues. It is now deleted outright and reloaded when needed. This way there is no invisible stroke. The server was unaware of its visibility and this caused problems before when a new user joins.
-Many other fixes/changes to temporary scrap behavior. It should now be less likely (if not impossible) for different clients to affect each other's temporary scraps (other than clearing canvas)

*Issue #27: Many changes made to the way images are loaded.
	1. The max image size is now 1920x1080 (The client will alert the user if the image is too large)
	2. On the server, images are never loaded into memory anymore (no more running out of memory on server)
	3. On the client, images are loaded dynamically when needed and removed from memory when not needed. On the grid they are loaded to generate the cell previews and unloaded immediately. On the canvases only the active canvas' images are loaded in memory. A client loading an image in one canvas will no longer cause all other clients to load that image even if those clients are not viewing the canvas.
	4. Images are now always downloaded to the client from the server before attempting to load them into memory (no streaming from URL).
-Clients will no longer see their own usernames in the grid view. Previously this was only possible because of a bug. However, the canvas they were most recently active in will have a dark gray background color for the user to identify (Potentially can change BG color for multiple cells with varying gradient to indicate history. Let's discuss first based on impressions.)
-Fixed strokes not being "finished" and leaving their hit circles if the mouse is "upped" in the menu bars. It will correct itself on the next mouse down event on the canvas.
-Moved arrow icon to be grouped with pen sizes to indicate mutual exclusivity.
-Fixed even more lost sync bugs.
-Hit circle offset distance reduced from 50 to 25.
-When a client disconnects and reconnects, it now notifies the server of what canvas it is in because the server loses track after a disconnect.
Merge pull request #84 from waynehuang3/workspace2

Major temp scrap/image/synchronization update
-Hotfix: The server does not always report the correct hostname for the client to download its images. Changed the client to use its own stored server host name.
Merge pull request #86 from waynehuang3/workspace2

-Hotfix for images not being downloaded correctly from some servers.
Tag and link panels in the canvas perspective. Some small features are
missing, and I'm not sure about the UI behaviors. 
Completed tag and link panels in the canvas perspective.
Exit prompt.
Finished new features. Still have ome bugs to work out.
Finishing first draft of the new IIP