Add support for exiting formspecs by doubleclicking outside

Formspec performance fixes
Some code cleanup
Hmm honoring latest discussion results we should change "acceptable" to "appreciated" ... I moved it to header, no idea why I put it to cpp file originally.