Url encoding fixes

Recognize &quot; as double quote in XML encoding.
Add URL::Urlencode and URL::Urldecode, use them to properly encode query string parameters.
When constructing URL, only add scheme to the URL if the host part isn't empty: URL such as http:///something.rml don't make sense.
Added method for loading font from memory getting the family, style and weight
information from the font data (just like it's already done when loading from
file).
Merge pull request #59 from DiThi/master

Added method for loading font from memory autodetecting info.
Merge pull request #44 from viciious/urlencode

Url encoding fixes
Fix some errors found by automated code checker "cppcheck"

- Add missing field initializations to constructors.
- Fix case of pointer dereference before NULL check.
Fix some issues discovered with cppcheck
Fix occasional crashes in tab element's destructor

The crashes were caused by attempts to free an already freed parent "tabset" element which it still had attached as an event listener. The change fixes the issue by accounting for listeners in reference counting for tab elements.
Fix toggling of :active pseudoclass on elements

Only toggle :active pseudoclass on left mouse button clicks, ignore other mouse button clicks
Fix GetTableRelativeIndex() returning wrong index for datagrid rows

Relative indices weren't marked as dirty upon addition or removal of children elements.
Bugfix: it was possible to focus invisible elements using TAB

Avoid focusing invisible elements by early exiting ElementDocument::SearchFocusSubtree in such cases
Feature: add "rowchange" event

Datagrid now dispatches "rowchange" event upon the NotifyRowChange call. Event parameters are the same as for "rowadd" and "rowremove" events.
Feature: single-line text input controls now also dispatch boolean "linebreak" attribute with "change" events.

We can't listen to "keydown" events on text widgets since they are inhibited by input elements themselves. To properly detect changes caused by linebreak key (ENTER) presses, dispatch "linebreak" attribute with "change" events.
Merge pull request #63 from viciious/warsow10_features

Warsow 1.0 features
Merge pull request #62 from viciious/warsow10_bugfixes

Warsow 1.0 bugfixes
Adding tutorials back to libRocket samples

This initial commit returns the tutorials back to the source tree and
updates the CMake build to generate appropriate Make targets.

The next step in the process is replacing the 'EMP' references with
'Rocket' and testing the tutorials.
Updating all tutorials to be compatible with the latest Rocket bits

Updated each of the tutorials in the following ways:

- Fixed the path parameter in the Shell::Initialise call in each
tutorial's main.cpp
- Removed PNG files as the Shell render interface only supports TGA
files. Updated references to these PNG files (inline RCSS in the RML
files, or in RCSS files themselves) to reference TGAs in the assets
folder. Copied some assets from the Invaders sample to the Sample
assets where there were missing TGA equivalents.
- Replaced references to EMP namespace with Rocket namespace
- Replaced EMP_* macros with ROCKET_* macros (e.g. ROCKET_UNUSED,
ROCKET_ASSERT)
- Replaced Rocket::Core::DataSource references with
Rocket::Controls::DataSource
- Replaced EMP includes with Rocket includes
Fixed bug in datagrid tutorial:
The image for the Defender icons in the scoreboard was still pointing to the old PNG (which no longer exists).
Removing additional references to EMP

Missed some references to EMP from build mechanisms that I hadn't been
using (relied only on the CMake-based build for the tutorials).

I removed the references to EMPCore in these build files (which,
fortunately, already check for RocketCore as a replacement) and also
updated a couple of references to EMP_PLATFORM_WIN32 in the tutorials'
macros.
created a set of Visual Studio 2012 project files

copied the vs2010 project files and ran the project upgrade tool on them to produce these
updated ignore lists

added file type ignore rules for files generates per user/solution, and
all contents if the bin directory