1. A refactoring of SizeValue so that a null value is now a real value (width="default" or width="d"), this avoids "== null" checks.

2. A refactoring of SizeValue so that values that are computed (like in preProcessConstraintWidthThisLevel) do not have to store additional state somewhere. For example if the "default" value is used (which does a sum or max when using HorizontalLayout for example), the SizeValue will tell you the computed pixel value, but also that the computation was part of the "default" value.

3. Two new size values "sum" and "max", this is similar to the behaviour that was already present, namely compute the total/maximum heights of the children. These values are useful when you would like to be explicit. It also lets you use sum/max in any layout.

4. Text elements now support width="*" (wildcard) in horizontal layouts in combination with word wrap. This also lets you have parent panels that automatically base their height on these text elements. This allows for reimplementing the chat control using a ScrollPanel instead of a ListBox so that chat lines can wrap AND have player images. See issue #169

I also wrote test cases to test for this new behaviour.
I did my best to ensure backwards compatability. All the test cases pass, and I compared all the examples with a nifty-gui without these changes.
Merge branch '1.4' of https://github.com/void256/nifty-gui into 1.4
Remove internal use of deprecated Element methods.

Remove all uses of all deprecated methods in Element class. The
deprecated methods are still there, but they are not used anymore
internally.

There is also one deprecated method in Element class that is supposed to
delegate to the non-deprecated version, but instead it is duplicating
the non-deprecated version's code. Make this deprecated method delegate
to the non-deprecated version.

Also remove a duplicated word from a javadoc comment in the
getValueAsInt method of SizeValue class.

There are some faux changes present where the entire file appears to
have changed, but it's just due to the removal of  carriage return
characters in the line endings.
Merge pull request #172 from 3xp0n3nt/deprecation-cleanup

Remove internal use of deprecated Element methods.
Merge pull request #170 from Joris-van-der-Wel/1.4

SizeValue refactoring and wildcard text wrapping
Added missing init call in scroll panel

The missing init call rendered the scroll panel unusable. This error
was introduced during the API change of the init function.
Merge pull request #173 from mkaring/1.4

Added missing init call in scroll panel
Batch Renderer (LWJGL/JOGL): Fix potential crash render empty batches

This was first discovered and fixed by 3xp0n3nt for the
LwjglBatchRenderBackend but the same issue exists for the CoreProfile
renderers as well as the Jogl Batch-Implementations. This commit fixes
these potential problems as well.
Added JSR-305 implementation to dependencies
Cleaned code of Element effect cache class

 - Placed JSR-305 annotations
 - Improved performance using EnumMap instead of HashTable
   (smaller memory size, faster access time)
 - Applied default values properly
Cleaned resource loader implementations

- Added JSR-305 annotations
- Improved exception handling
Cleaned up the time interpolators

 - Added JSR-305 annotations
 - Handled possible runtime exceptions properly
Cleaned up the pulsators

 - Added JSR-305 annotations
 - Handled possible runtime exceptions properly
Refactored ObjectPool

 - Added JSR-305 annotations
 - Removed pooling of small objects
 - Changed pool to soft reference pool
Applied JSR-305 to Niftys SPI
Full refactoring of Nifty

 - Applied JSR-305 annotations
 - Fixed potential null problems
 - Got rid of most Null-Objects
 - Implemented enum related storage system
   -> Mainly used for EffectEventId related storages
 - Got rid of Hashtables
 - Added early checks for problems
 - Added a lot of additional log warnings
 - Formatted code to meet Nifty specifications
 - Implemented proper use of XmlPullParserFactory
 - Fixed ID bug
Cleanup of NiftyStopWatch

 - Slightly improved performance by using a not synchronized collection
 - Avoided creation of log message in case logging is disabled
 - Avoided object creation to receive timestamp
Cleanup element class and layouter test

 - avoid nullity warning
 - improved output of layout test
Fixed screen handling in element class
Fixed initialization order of list box control