Fix NiftyStandardInputEvent.Activate bug.

NiftyStandardInputEvent.Activate only simulates a mouse click, but not a
mouse release. This causes a bug where only listening for
ButtonReleasedEvent's but not ButtonClickedEvent's for a specific button
will cause input mappings to NiftyStandardInputEvent.Activate to not
work with that button. This results in undesirable & unexpected behavior
such as pressing the enter key on a currently focused button does not do
anything.

The solution is to make NiftyStandardInputEvent.Activate simulate a
mouse click and a mouse release, so that when
NiftyStandardInputEvent.Activate is triggered, a ButtonReleasedEvent is
fired in addition to the ButtonClickedEvent.
Allow SizeValue floating point values.

Modify the internal storage of SizeValue to use a float rather than an
int to allow for floating point values in SizeValue strings.

Add SizeValue tests to verify that floating point strings are accepted
as valid values and are parsed correctly.

SizeValue.getValueAsInt now rounds the floating point pixel values to
the nearest integer using Math.round, which is the safest way to do it.
It is also consistent with the already existing behavior for floating
point percentage values, which already uses Math.round in the
getValueAsInt method (it was added to fix a subtle truncation bug
causing off-by-one pixel errors).

Fix failing tests in
nifty-core/src/main/test/java/de/lessvoid/nifty/layout package by
verifying resulting SizeValue strings as a decimal value instead of an
integer value. For example, new SizeValue("100px").toString() will now
equal "100.0px" instead of "100px".

The SizeValue.toString method is the only place where the extra ".0" in
(for example) "100.0px" as a string will come into play because even
though most of the time it will be a whole number, now there is the
chance that it could be something like "100.5px". It seems to be the
most reasonable behavior to always have the decimal and trailing zero
for "whole number" SizeValue.toString outputs, rather than only having
the decimal when it is not ".0". This could be considered a significant
change, but it doesn't break anything because only the output format is
changing - SizeValue still accepts "100px" (with no decimal) as a valid
value, it just converts it to "100.0px".

The SizeValue equals & hashcode methods were deleted and replaced by
auto-generated versions from IntelliJ, which are safe because they both
rely on the Float.floatToIntBits under the hood for the internally
stored float value. Tests have been added to SizeValueTest to verify
that equals is working correctly. For example, new SizeValue ("10.0px")
should be equal to new SizeValue ("10px"), but new SizeValue
("10.0001px") should not be equal to new SizeValue ("10px") nor new
SizeValue ("10.0002px").

Fixes #244.
Merge pull request #256 from 3xp0n3nt/activate-click-release-bug

Fix NiftyStandardInputEvent.Activate bug.
Merge pull request #257 from 3xp0n3nt/sizevalue-float-percentage

Allow SizeValue floating point values.