introduce character type distinction

Can currently take values HUMAN | AI defined in enum character_type.
AI is not implemented yet
factorization in character updating

The updateCharacter function now takes in account the type of character (AI, HUMAN) and call a proper update function according to its value