presentViewController / presentModalViewController like retaining style and disable the default cancel behavior if the user taps outside of the presenting SemiModalView

I have added the ability to keep track of the ViewControllers like presentViewController and presentModalViewController. So you don't have to add a iVar or property to the presenting ViewController.

It is also requested in https://github.com/kentnguyen/KNSemiModalViewController/issues/23 and https://github.com/kentnguyen/KNSemiModalViewController/pull/19