add artemis ECS (entity component system)

code taken from https://github.com/vinova/Artemis-Cpp
(my own fork is at https://github.com/sreich/Artemis-Cpp, which i may
sync with this, and push changes there, if it ever comes to that.
(but also as a backup in case the original repo dies/whatever
add artemis templated function type here, so we don't need to cast everywhere

the 'library' should really do this stuff internally..i think.

makes it slightly less awful to use, imho..may need to do the same for
e.g. getcomponent
showcase artemis working and doing some basic velocity calcs..
swithc world to use delta time as double, float is not enough precision

..it never is, for elapsed time.
Merge branch 'master' into ecs-conversion
make entity.getcomponent not require user-facing casting, fix velocity y
add artemis/ submodule..code obtained from artemisxx repo

which made the code a lot less dumb in various areas and actually use
C++11 stuff, including unorderedmap,set...but, there's still things
i need(want) to improve first.
rm Artemis, in favor of artemis ;)
update a bit to work with new artemis...if it didn't crash
add debugs, seems process ent gets called before init in movementsys
use override keyword for movement system, turns out i was overriding no

method in existence (initialize -> init, apparently).
make the player properly, cleanup a bit of code..

going to end up adding a bunch of components here shortly, including a
renderable thing and/or an animator..thing
fix build error, add a bit to position component
add starts of renderablecomponent
readme update
change readme, we're gonna move most of it to the website and link it
FTBFS..for a while now, expose artemis world to everyone via World,

start creating the player in the server now...both the client and server
will have create player methods. separate, but somewhat similar. one
can have collideable, and position plus other stuff, or they both can
(eg if in the future i may want to do physics also on the client,
this could allow that somehow it seems.). it also means that there's
no extra checks or anthing done on the client/server..they're
just totally different things, but yet one of the same (aka lack
a physics common, etc.).
add player component, start beraking stuff wrt server player creation
add more player, renderable api migration, add player system

, few server fixes to pertain to these changes
set playerid on server, add sizemeters, origin to renderable