CloseButton placing options with enum (**None/Left/Right**)

Sorry for not being for a long. This is what we expected at my previous pull-request four moth ago.
 
I see, you merged a pull-request somewhat closer to my previous request. But as I see, that is still handling **show/hide** and **left/right** differently.

Check this version of the solution. I hope you'll like it.

Thanks.