## Refactiorization of sprite animations. Initial commit.

### New classes.
`SpriteAnimation` class has beed introduced. It's purpose is to provide 
some generalization to the sprite animations concept, that would allow 
some more flexibility than the default `libgdx` `Animation` class. It 
takes a `TextureRegion` and internally prepares `Animation` instance.

`AnimationWalk` extends `SpriteAnimation` and provides an update method, 
that adjusts position of the sprite to be drawn to emulate movement.

For more information please read documentation.

### `Person`:
An example of `AnimationWalk` is introduced in the `draw_walk` method.

### General changes.

Changed units of variables related to screen position from `int` to 
`float` as it's the natural unit in libgdx.
Added Finishable interface for objects that need to do execute some
callbacks after performing a task.
## Improved animation related classes.

### `SpriteAnimation`:
Now has capabilities to change animation sprites and duration of
animation. This allows more versatile animation design and capabilities.
It also allows to recycle `SpriteAnimation` object. Because libgdx
`Animation` cannot change these propertioes on the fly. Appropriate
checks were implemented.

Also added empty constructor for constructing an unitialized objects.
With methods that allow to set up crucial parts of the animation this
makes it a little bit easier to implement extensions.

Added possibilty of calling a Finishable callback object.

### `AnimationWalk`:
Added possibilty to set direction when animation is not running.

### `PersonAnimationWalk`:
Implemented a final class for animation of walking for the `Person`.

### `Person`:
Changed walking animation to make use of new API.

### `Strategix`:
Dropped unnecessary textrure loading.
## Animation brush ups. Defined `AnimationAssets`.

###General:
New `AnimationAssets` and derived classes have been defined. Its purpose
is to provide some basic knowdlege about the sprite being animated for
the `SpriteAnimation`, e.g: sprite sheet width, height, texture region,
so the SpriteAnimation and derived classes can do basic manipulations
regarding the animation such as changing the "sub sheet" from the
original supplied texture region.

###`AnimationDirection`:
Animation type that has a direction.

###`AnimationAsset`:
New class for holding basic knowledge about the sprite sheet resource.

###`AnimationPersonAssets`:
Asset vault for the `Person` related animations.

###`AnimationPerson*`:
Concrete implemetnation of `Person` animations.

###`AnimationAssetInternalFile`:
An extenstion that allows to instantiate AnimationAsset from an libgdx
internal file.

###`SpriteSheet`:
`SpriteSheet` can now be instantiated from an `AnimationAsset`. Old constructors
will create a needed asset on the fly. The rest of functions use `asset`
field where appropriate.

###`Marker`:
The marker, does not set the animation for the objects on map but fires
up actions.

###`Person`:
`Person` does not hold current animation as some magic number but in a
`Animation currentAnimation` object. The actions that a `Person`
executes/performs such as `greet`, `attack` has been moved into the
`Person` class.

`Person` now uses "person asset vault" `AnimationPersonAssets` to create
animations.

Some code clean ups.
Forgotten file.
Merge pull request #1 from Isormour/SpriteAnimation

Sprite animation merge with luk32 personal branch.