Merge pull request #1 from urho3d/master

Updating before submitting new changes.
Fixed joystick support

- Added support for events SDL_JOYDEVICEADDED and SDL_JOYDEVICEREMOVED.
- Added Urho3D events E_JOYSTICKCONNECTEDand E_E_JOYSTICKDISCONNECTED.
- Added SDL_JoystickID as a JoystickState variable.
- All joysticks are open by default. All joystick events will receive
the InstanceID of the joystick for application-level control.
- SDL_JoystickID is now used instead of the Joystick index. This way,
the order that joysticks connect does not matter. If a joystick or
controller gets disconnected, and then later reconnects during the same
game session, it will retain the same SDL_JoystickID.

Note: Virtual (on-screen) joysticks should still work, but has not been
tested.
Fixed lua bindings

- Fixed lua script bindings
- Reverted previous changes to GetJoystickName
- Tested default lua scripts with Urho3DPlayer to ensure scripts run
properly
Resolved virtual joystick support

- Added function to set virtual joystick visibility.
- Updated samples.iml to reflect changess.
Bugfixes
Bugfix

- Updated Angelscript bindings
- Updated NinjaSnowWar
Merge remote-tracking branch 'remotes/thebluefish/master'
Joystick refactoring after merging the joystick pull request from thebluefish.
- Fixed "ghost" buttons due to setting button down state both by joystick button and controller button mapping.
- Fixed missing name in joystick state.
- Allow getting joystick state both by joystick ID (Input::GetJoystick()) and a zero-based index (Input::GetJoystickByIndex()).
- Fixed ambiguity in Input class parameter names whether functions take a joystick ID, or an index. Most take joystick ID by now.
- Controller events removed. Controller joysticks will receive ordinary joystick events, but with controller axis & button mappings.
- Joystick identifying parameter in joystick events changed to JoystickID to denote that it's an ID and not a zero-based index.
- Code convention edits to Input code.