Code Overhaul

Remove IString. Add uniform initialization, internal use of smart
pointers and STL containers, rely on ARC for Mac.