Implementing search feature in map choosers

ref #6374
I've implemented this filter. It looks that it integrates with whole code without disturbing any coherency.. Please share me any thoughts.

My objection in MapChooserLogic.cs:91
```
.Where(m => m.Type == gameMode || gameMode == null)
```
-> the null check was at right (left side is being checked first in logical alternative) so I've moved it to left, and checked this null case - its handling it right now.

![map_filter](https://cloud.githubusercontent.com/assets/6244620/4330726/abf58270-3fb4-11e4-8a9f-6db42deacb5e.gif)

![mapfiltercnc](https://cloud.githubusercontent.com/assets/6244620/4330727/abf8eb5e-3fb4-11e4-8c03-9dcef459d71c.png)

I believe you can compress this to

```csharp
widget.Get<ButtonWidget>("BUTTON_CANCEL").OnClick = canceling;
```