tcp file system can handle more than one file. (WIP)
Merge remote-tracking branch 'remotes/origin/master' into fs_refactor

Conflicts:
	src/core/tcp_file_server.cpp
- tcp file server can handle 32k files per connection
- array => wrapper for c++ style array
- free list => int32_t specialization
- queue
Merge remote-tracking branch 'remotes/origin/master' into fs_refactor

Conflicts:
	projects/core/core.vcxproj
	projects/core/core.vcxproj.filters
- tcp file device is now multithread safe (close #31)
- FS::IFile::pos is not const now (because of blob in the tcp file)
- blob => char* specialization
- queue fix
- file system can handle unlimited amount of the async operations (close #69)
- file system closes all completed transactions (close #68)
GUI: multiline textbox; redirected error stream of script compiler
GUI: cursor in textbox
FileSystem uses delegate instead of call back. (closes #70);
Merge remote-tracking branch 'remotes/origin/master' into fs_refactor

Conflicts:
	src/core/tcp_file_server.cpp
	src/graphics/renderer.cpp
	src/gui/atlas.cpp
	src/gui/opengl_renderer.cpp
fixed merged stuff.
Merge pull request #76 from nem0/multithread_refactor

destructors for: Event, Mutex, Semaphore, SpinMutex are now private/prot...
Merge pull request #71 from nem0/gui

additional GUI features and redirected error stream of script compiler
editor_native/main.cpp refactored
divider in dockable keeps relative position when parent block is resized
string::operator +=: memory allocation fixed; GUI textbox: text is inserted at the position of the cursor; edit script button in the native editor
fixed some of the review comments.
- SpinMutex fix
- static_array -> clean up
- tcp file device -> MT fix
Merge remote-tracking branch 'remotes/origin/master' into fs_refactor

Conflicts:
	projects/core/core.vcxproj.filters
	src/core/pc/spin_mutex.cpp