#3559297: ImageSelect does not updateVisuals after setSelectedImageInd

added missing updateVisuals() calls in setSelectedImageIndex() 
#3559299: In ImageSelect the field "element" is redefined

"element" from AbstractController should be used and initialized in
bind(). This was probably missing when AbstractController was
introduced.
#3559302: ImageSelect could use removeImage, count()

added to new methods to the ImageSelect control
Some cleanup to silence warning noise.
Added hashCode implementation to go along with equals().
Substituted equals() implementation with the ironclad Eclipse-generated
one.
Merge pull request #39 from toolforger/dsl

Two clean-up commits
Another "missing type parameter" warning eliminated for good.
Merge branch '1.3' of git://github.com/void256/nifty-gui into dsl
Removed redundant superinterface NiftyControl from MenuControl to
silence a warning.
Merge pull request #40 from toolforger/dsl

Another one-liner
#56 TextRender does not wrap new strings 

Changing the text with word wrapping enabled needs to trigger a relayout
of the actual text element. Unfortunately the Element the TextRenderer
is attached to is not available in the TextRenderer class. However
changes to the text can actually trigger changes to the size of the
text element. So there is a relayout necessary.

To free users of calling element.layoutElements() by themself this is
now performed in the setText() method. To do this the element the
TextRenderer is attached to is stored in the TextRenderer when the
element has been layouted at least once.
Disabled calling of the onMouseWheel function in case the delta of the wheel is 0
Merge branch '1.3' of https://github.com/void256/nifty-gui.git into 1.3
Merge pull request #44 from mkaring/1.3

reduced of event spamming for idle mousewheel events
closing popups will not reset effects from other layers anymore
Added possibility to the dropdown control to set the converter class using the builder or the XML
Merge pull request #46 from mkaring/1.3

Dropdown control improvement
#62 [JME3] Enable/disable consuming of mouse events by Nifty (sf.net)

Use nifty.setIgnoreMouseEvents(true) to completely disable mouse event
processing in Nifty . The NiftyInputConsumer.processMouseEvent() will
always return false in that case.

Use nifty.setIgnoreKeyboardEvents(true) to completely disable mouse
event processing in Nifty. The NiftyInputConsumer.processKeyboardEvent()
will always return false in that case.
#59 fix calling nifty.gotoScreen() with pending closePopup() (sf.net)

nifty.closePopup() will not be executed directly but will be scheduled
for execution at the end of the next update loop. nifty.gotoScreen()
however will be executed immediately. Because of this it was possible
that calling nifty.closePopup() directly followed by a call to
nifty.gotoScreen() messed up some internals - because the current
screen already has been removed when the popup is still active
and in the process of being removed.

Now we will close all popups in nifty.gotoScreen() directly prior of
actually changing the screen to the new one.

If you use effects when the popup is closed and you need to wait for the
effects to end you should use nifty.closePopup() with an EndNotify and
call nifty.gotoScreen() when the EndNotify is called.
Fixed conflicting ID problem in case multiple tab groups are active at the same time