A lot of changes. A lot of refactoring.

## Visual:
- Added smoke animation sprite and showing test smoke.
- Added paralax effects to background.
- Added simple HUD timer and lap counting.
- Added support for asymmetrical vehicle sprites ('sprite_asymmetric'
flag)
- Added support for alternative vehicle appearances ("skins"). Support
is by declaring an additional property 'sprite_sheetX_file', where X is
a positive integer from 2 to 9. Sprite frame dimensions, frame count,
etc will all be treated as the same as the original sheet. Skins are
selectable in the vehicle selection menu through Page Up and Page Down
keys.
- Added 'sprite_max_depicted_turn_angle' property to haste sprite anim.
- Allowing individual x and y scale factors for vehicle sprite spec.
- Created an offset corresponding to vehicle tire offset from the sprite
bottom, named 'sprite_contact_offset'.
- Added 'sprite_vehicle_width' property, to inform the vehicle width (in
pixels) as depicted on the neutral angle sprite. This is useful with
other information to automatically infer sprite scale. This value is
optional and, by default, is 85.7% of sprite frame width.
- Now scale is implicitly obtained from sprite_vehicle_width/height
fields. A new property 'vehicle_width_height_ratio' can also be used to
compute scale (if used, it will override the calculated value from
vehicle_width and vehicle_height.)
- Added 'sprite_keep_aspect_ratio' field to lock aspect ratio
implicitly.
- Added vertical vehicle movement when on slopes.
- Fixed shaking car when stopped glitch.
- Fixed incorrect vertical alignment of vehicles on race state.

## Sound
- Added menu sounds.
- Added sound for burning rubber from stand still and drifting burnout
sounds.
- Added sound effect when off-roading.
- Added more engine sound profiles.

## Game logic
- New reworked main menu, vehicle selection menu and course selection
menu. Also added new options menu.
- New default car sprite. New default car, with default state count.
- Reading vehicle type (car (default), bike).
- Added new Course information fields (name, author, credits and
comments).
- Added support for .
- Adjusted course CSV format to allow specification of x, slope
(pre-support). Also added support for road decorations (sprites), with
fields for sprite ID and sprite displacement. Sprite ID's are registered
in the .def file.
- Finally fixed course loop bug.
- Changed "no" to "none" to specify that a vehicle has no sound.
- Reading additional optional information from vehicle file: 'authors',
'credits', 'comments', 'engine_configuration', 'engine_aspiration', 
'engine_valvetrain', 'engine_displacement', 'engine_valve_count'. They
currently do not affect car behavior.
- Added another test course in file.
- Slightly less hard turns from generated courses.
- Improved sloping randomness on random course mode.
- Trees and bush appear in the random courses.
- Added option to set speed to be displayed as imperial units.

## Physics
- Now driving on grass and slopes affects performance.
- Added torque curve scheme to motor simulation.
- Allowed vehicle max. power rpm specification, changing engine
behavior. Default max power rpm is still allowed, by default as
(5*MaxRPM+1000)/6.
- New auto-shifting RPM thresholds prediction.
- Rolling friction is now 4x stronger (since it is for each wheel).
- Accounting for new 'driven_wheels' property on tire simulation (front,
rear, all).
- Added weight transfer effects on grip from accelerating/braking.
- Reading vehicle data about engine location ('engine_location'),
affecting weight distribuition.
- Wheel angular speed separated from RPM. Now can engage neutral gear.

## Other
- Setting centered and fullscreen options from command line args.
- Fixed memory leak on gear ratios by changing it to a std::vector.
- On MinGW builds, use CDT internal builder due to a Gnu Make Builder
bug.
- Fixed some MSVC compiling problems.