Solved problems caused by ARC conversion

- Changed block variables to strong, so they are not released on assign.
- Introduced new KWWeakPointer class and substituted all pointers previously handled by unsafe unretained pointers of NSValue for these new weak pointers. There were some bad memory accesses before. Had to bump up minimum iOS version to 5.0, but if you're not programming for 5.0 you're gonna have a bad time anyway.
- Added a class that manually adds one to retain that is used when you stub alloc.