Fix checking for the character title each frame but only on level up
Optimize isometric rendering.

Closes #326.

The benchmark scenario was using flare-game with commit
51af6ab3f1feb897172398f232b2256f5cb70f58

The hero was standing at the default starting point
in the frontier outpost.

The code was compiled with
  cmake . && make
so no special care on compiler optimization (such as O3, lto)
(gcc version 4.7.2)

I run the benchmark using
  perf stat -p $(pidof flare) sleep 10

Using an Intel i7-2760 cpu:
without this patch: 0.389 CPUs utilized
with    this patch: 0.356 CPUs utilized
resulting in        0.033 CPUs less

Using an Intel Atom N270
without this patch: 0.582 CPUs utilized
with    this patch: 0.565 CPUs utilized
resulting in        0.017 CPUs less

On the Intel Atom N270 map_to_screen was using 17.14% of the time
before this patch, now it is only using 5.42% of the time.
(The time was only measured executing the flare binary itself,
libs excluded)
Merge pull request #417 from stefanbeller/map_to_screen

Optimize isometric rendering.
Add support for optional soundfx location specification for map event,
if not used map event location is used.

Part of issue #415
Make reset() only stop playback of looping sound.

Make play() to increase sound ref to prevent unload of currently
playing sound and then unload on finishing playback of sound.

Closes issue #415
Add parse_duration() which parses a duration and return the number
of frames for the duration.

Part of #421
Change cooldown and delay to use the new parse_duration()

Part of issue #421
Make use of parse_duration() for cooldown attributes.
Updated map event cooldown to use the new parse_duration().
Remove debug fprintf.
Merge pull request #416 from stefanbeller/bugfixes

Fix checking for the character title each frame but only on level up
Merge pull request #420 from hean01/master

Fixes unload of currently played sounds.
Merge pull request #422 from hean01/timeunit

Adds parse_duration() and updates cooldown to use this.