chore(symlink): fix symlink after merging
feat(sharedWorkspaceWithRacer): start new example

This is copy of sharedWorkspace example, but instead of wams and
socket.io, it is done using racer project. Racer allows to
automatically sync data between clients.
chore(package): add racer dependencies
chore(sharedWorkspaceWithRacer): stop livereload in browsers
feat(racer): provide basic functionality of data models

Add code on server and client for racer to work.
New client adds field into users and screens model, and deletes it
before unload of webpage.
Also change model and display on resize of the browser window.
fix(elements): provide default coords and dimensions

Provide x, y, w, h for all elements in model
feat(isEmpty): function checks if object has no own fields
feat(workspace): calculate workspace border on server

Move calculations for workspace size to the server.
fix(app model): do not subscribe to model in render function

We subscribe to model outside of render function, so this is
unnecessary.
feat(minimap): set minimap settings on server
feat(browser): show elements on page after load
feat(extractColor: function that gets color of element

This function get color if element is already on page, or if it is not
on page, it adds element and then deletes element.
feat(scale): make scale to be percentages

This is made because javascript works with real numbers very badly
feat(display): display screen shape when screen is updated
feat(minimap): resize minimap canvas to have ratio of workspace

This funciton resizes minimap so it has the same ratio as workspace
has, and at the same time be in bounds: either be less by width than
MAX_CANVAS_WIDTH or less by height than MAX_CANVAS_HEIGHT.
chore(sharedWorkspaceWithRacer): remove unused code
feat(scale): change screen scale onMouseWheel

It also rescales elements that are already on the page
feat(drawMinimap): function to draw minimap, clients and elements

This functions take into account that clients and elements should be
scaled depending on the current scale of screen
feat(minimap): actually draw minimap when workspace or elements change

Also when settings of minimap are changed, we want to redraw minimap.
fix(workspaceBorder): fix workspaceBorder function

It was working not properly when one of workspaces was in 3rd quadrant,
and other is in 1st quadrant