completely overhaul inter-process communication

a separate client dylib is now used in order to split out
the stuff needed only in springboard. the inter-process
communication system has been moved from an ugly darwin
notification and CPDistributedMessagingServer to
NSDistributedNotificationCenter, therefore reducing the
number of private frameworks loaded into apps to zero. this
should hopefully fix reported crashes and freezes.