Various bug fixes and improvements.

When I am integrating your code into my library, I am greeted with two issues:

1. I cannot return `nil` from selectors or the code will crash,
2. Types do not have a prefix - they may easily collide (I believe the name `Selector` collides with something in Objective-C runtime.)

I went ahead and fixed them in my library (<https://github.com/xcvista/CGIKit>) and now I am pushing all changes upstream. (I did not use a submodule so that the build on Linux can be smoother. This library is working fine under Linux with GNUstep.) The `MS` class prefix came out of blue (from the name of my workgroup, _Muski_?) and you can safely `sed` them away if you like to.