Added steering behaviors to gdx-ai extension.

This PR adds steering behaviors for 2D and 2.5D, suitable for most games.
Most steering behaviors work for full 3D too, excluded those behaviors that explicitly have an angular component, such as ReachOrientation, Face, LookWhereYouAreGoing and Wander (this is because we would need to change the representation of orientation and angular velocity from float values to Vector3 and Quaternion).
The other behaviors only work linearly, so none of them requires any modification for full 3D because the equations work unaltered.
Notice that the entire steering framework assumes that the direction a character is facing does not have to be its direction of motion, thus supporting independent facing that, among other things, allows you to smooth rotation over many frames when the direction abruptly changes.

Mainly the developer will have to implement the Steerable interface for the specific "engine" he's using: scene2d, box2d, bullet, his own engine or anything else.
Test classes use scene2d for the sake of simplicity.


@NathanSweet and @Xoppa
In the test classes I'm using `com.badlogic.gdx.tests.g3d.BaseG3dHudTest.CollapsableWindow`.
Looks like I have to use a `ScrollPane` to make it work properly.
Without the scrollpane when you double-click the title bar to expand the collapsed window one of the sliders may riceive both click events depending on the specific layout.
Using `stage.setDebugAll(true)` you can clearly see that when the window is collapsed the title bar is vertically centered to the layout and the underlying non-visible components will receive click events.
To replicate the issue replace 
````java
		ScrollPane pane = new ScrollPane(table, container.skin);
		pane.setFadeScrollBars(false);
		window.add(pane);
````
with
````java
		window.add(table);
````
inside the `createDetailWindow` method of the class `com.badlogic.gdx.tests.ai.steer.SteeringTest`.
Then run the Face behavior of the SteeringBehaviorTest. The "Deceleration Radius" slider will change when the Face window is collapsed and you click on the title bar.
Any idea how to fix this?
   
That's what a I get with the SteeringBehaviorTest after checking subsequent frames.
````
SteeringBehaviorTest: FrameId conflict after 32.07109 seconds.
SteeringBehaviorTest: FrameId conflict after 8.971473 seconds.
SteeringBehaviorTest: FrameId conflict after 9.046809 seconds.
SteeringBehaviorTest: FrameId conflict after 32.392487 seconds.
SteeringBehaviorTest: FrameId conflict after 2.3873122 seconds.
SteeringBehaviorTest: FrameId conflict after 2.9402292 seconds.
SteeringBehaviorTest: FrameId conflict after 8.142078 seconds.
SteeringBehaviorTest: FrameId conflict after 13.293692 seconds.
````
I think it's due to the rounding error introduced by Graphics.getRawDeltaTime() that transforms long nanosecs to float seconds.  I'd expect that conflicts with actual nanosecs are far less likely.
However currently conflicting frameIds are not a real problem because frameId is only used by proximities in order to calculate character's neighbors only once per frame when the proximity is shared by multiple behaviors. Checking frameId is a common technique in AI to avoid repeating unnecessary  calculations.
Forcing the developer to extend a custom ApplicationListener per backend just to count frames is not an acceptable solution imo.
As I said, I think that the only real solution is to promote `getFrameId()` to the core level in `Gdx.graphics` or maybe `Gdx.app`.