Make the MacAVF code build also as 32-bit

When compiling 32-bit OS X code, the code will use the "legacy
Objective-C runtime", which means that instance variables of an
Objective-C class must be declared in the @interface block, not in the
@implementation.

CGRect and NSRect are not the same for 32-bit code.

Also, use boost::unordered_map.

Change-Id: Icc56ff298203565a7568714b0e9f42c7c6b89737
Use correct header guard name in comment at #endif

Change-Id: I2df05054c4108cb173f80ce6fa66f30c713b70cd