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)
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.
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
Merge pull request #75 from nem0/fs_refactor

Fs refactor and some of the issues fixed.