Ported Recorder to Scala Swing + various clean ups & refactorings

Summary of this PR :

* Adds Scala Swing dependency (~ 600K, no transitive dependencies)
* Ported ConfigurationFrame, RunningFrame & some components to Scala Swing. Left FilterTable untouched, as I fear porting it to Scala Swing would not be a good idea...
* Extracted the whole "FileChooser or FileDialog if running on a Mac" logic to its own class, no more *Either[FileChooser,FileDialog]*
* Removed project-wide dynamics activation : felt a bit "safer" to activate it only in the Json helper
* Moved FilterStrategy and PatternType out of **ui** package, as it's use throughout the Recorder, and not only the UI
* Refactored ValidationHelper : no more tight coupling with ConfigurationFrame, will be a bit easier to extend if needed
* Stricter validation for ports fields : must be an integer AND a valid port number (eg. in the range 0-65536)
* Fixed a few UI bugs : 

 * The border is properly reset when a validated field is OK again
 * Outgoing HTTPS port was not revalidated when outgoing hostname was cleared => blocked "Start" button when it had no reason to do so

* Various minor clean ups here and there...

Tested it. I didn't see anything wrong but feel free to double-check :)