Fixed for main menu when updating server list but it's not available
anymore from the NetworkServerSearch component.
Added on client connection delegates on NetworkServer.
Reworked LevelManager LoadLevelRPC() (used to load level in
networked games) so that it uses a coroutine with LoadLevelAsync().

RPC message to load a level is NOT buffered anymore.
Server will send the message when needed to newly connected clients.
Updated HeroAnimController to match VillainAnimController.
This is a temporary solution, will need to clean up and make each one
specific to hero/villain.
Fixed comments tag.
FollowLane behavior is now disabled by default.
Needs to be enabled manually when needed.

Changes required for network support.
This way, remote players FollowLane behavior isn't active locally.
Player controller update is now disable by default.
It has to to be manually enabled when need: use EnablePlayerControllerUpdate().

This change was required for network games support.
This way, remote players player controller behaviour will be disable
locally.

Also, moved SlowMotion debug mode code to GameChase class.
Added PlayerManager which holds:
- a list of players who joined locally and remotely
- a list of local players pending server response to join

It supports multiple local players on the same network client (using
asynchronous RPC functions).
It should also support non-networked games.

NOTE: Unity3d network classes naming is slightly confusing since
a NetworkPlayer is more a connection client and has nothing to do
with a given player.
Various Network code changes:
- fixed network server search listing code
NOTE: Ip Address comparison must use 'Equals()' instead of '=='
- can check whether a NetworkClient is connected or not
- introduced NetworkManager.GetLocalNetClient() in an effort of
  encapsulating Unity3d api calls.
- some minor typos / renaming

Changes to MainMenu:
- introduced menu panels (main panel, server list panel)
- it now goes through player manager to add local players before loading
  the level (both server and clients)
NOTE: still has some various temporary code which needs to be cleanedup
and planning on making menu configuration data driven / editable from
unity3d editor.
Removed SpawnManager, moved part of the code to GameChase.

Major changes to GameChase to support multiplayer / networked games,
with multiple dropin/dropout players on any network client.

Added rule to limit the number of villain to spawn, then spawn heroes.

Added 'Slow motion' debug mode to GameChase (moved from
GamePlayerController).

Plenty still to do:
- choosing different spawners at start for multiple heroes
- choosing an update / proper position to spawn when joining after the
  game has started already
- cleaning up server and client code to make them clearer as to who does
what
- offline game support works, but should make it as simple as
  possible and shares as much as possiblecode with networked game
  support.
- camera support with multiple local players

NOTE: Unity3d doesn't support Asserts in RPC functions! they're not
triggered.
Added IsNetworkAuthorithy() basically to query if either server for
network games or disconnected for offline games.
Refactored character controllers (player and AI) to be able to override
inputs / actions.
This is needed for network games with local character controllers not
reacting to local inputs, but when receiving sync data from remote
authority.

Refactored anim controllers (hero and villain) to simply have
IsInAction() instead of having various (CanOrientationBeModified,
IsJumping, IsRunning, ...)
This requires to specify in the editor the base (non action) anim states.
Fixed GameChase mode logic to support join in progress players/clients.

TODO: should the game be using the server 'GameChase' instance as network
authority?

NOTE:
- Using RPCMode 'All' or 'Others' should be avoided, because clients can
be connected but not in play yet.
- Unity3d RPC system doesn't support calling RPC on server from server,
  call the function directly instead
Added NetworkSyncPlayer script to support anim driven character to be
synced over network.

Basic inputs, position and rotation sent regularly (probably in an
unreliable way).
Action/anim starts are sent reliably using RPC calls, with accurate starting pos/rot.

FIXME: currently only supports 1 action at a time properly.
Syncing multiple actions would be much more complicated.
Added network support to PlayerVillain prefab (NetworkView and
NetworkSyncPlayer components).
Added base anim states ('Base Layer.Run' and 'Base Layer.Idle').

Added PlayerHero prefab (basically a duplicate of PlayerVillain for now).