Merge pull request #1080 from dorkster/windows

Fix problems building with CodeBlocks/MinGW
Move Image-specific functions from RenderDevice to Image class
Don't use "Surface" in RenderDevice function names

The following changes have been made:
Image::scaleSurface() -> Image::resize()
RenderDevice::loadGraphicSurface() -> RenderDevice::loadImage()
RenderDevice::createAlphaSurface() -> RenderDevice::createImage()
Rename Renderable's "sprite" variable to "image"
Merge pull request #1081 from dorkster/renderdevice

More RenderDevice fixes
Create a new Image when using resize()

This fixes a bug where cached images were being resized. The place
I noticed this was when turning on "scale_gfx" in cutscenes/credits.txt.
Since we use the Flare logo on both the title screen and the default
credits, the image was resized on the title screen after viewing the
credits.
Smoother movement around 1x1 objects/entities

When automatically maneuvering around 1x1 tiles, we were moving the
player to the outer edge of the tile instanly. This was jarring when the
size of the player's steps were smaller than that distance. This patch
makes it so that we approach that outer edge, but maintain our current
speed. The end result is much smoother movment around 1x1 objects.
Isometric rendering: Reduce safety margin around screen to correct values.

This may be a leftover from the static background rendering, which
has redrawn the background just from time to time, not every frame.



        --------------------------
        |                        |
      . |                        |
     / \|                        |
    <   |>     You can see this  |
     \ /|                        |
      v |                        |
        |                        |
      . --------------------------
     / \
      |
      |
      You still need to draw these, which are mostly off screen.

      To be really safe, you need to find the largest tile of the tile set
      and do the math for that. For simplicity reasons we will treat all
      tiles as if they are as large as the largest tile.

This addresses #1084 and brings down the number of render calls down
to 1300 (2500 before) for a 640x480 window and the grassland tile set.
MapRenderer: remove commented code
Merge pull request #1082 from dorkster/renderdevice

Create a new Image when using resize()
Merge pull request #1085 from stefanbeller/master

Address #1084
Merge pull request #1083 from dorkster/fixes

Smoother movement around 1x1 objects/entities
Fix memory leak in GameStateConfig

In cases where checkboxes weren't defined in menus/config.txt, those
widgets would not be added to the child_widget vector. This caused them
to not be deleted properly when destroying GameStateConfig.

This commit has a few other small changes:
- replace placeLabeledCheckbox() with placeLabeledWidget() for more
general usage
- use vectors instead of arrays
- added an enum for config menu tabs
- renamed some things for clarity
Merge pull request #1086 from dorkster/configmenu

Fix memory leak in GameStateConfig
Round when calculating frame delay

This has no effect on the current max fps of 30, since 1000/30 rounds
down to 13. However, 1000/60 is ~16.6666, so we need to round that up to
get a more accurate delay.
Set max fps to 60 and cut default speed in half
Use parse_duration() for durations that weren't using it

Also, parse_duration() no longer accepts ticks. An integer value with no
suffix is assumed to be in milliseconds.
Convert real time to ticks for animations
Get active frames working and implement Bresenham for some frame timing

There are still problems with active frames when animations are too
short.
Try to handle active frames for fast animations