Optimize MFC memory usage, properly

- There are several bugs in MFC memory management that needs to be
  fixed for non-equal buffer size to work properly.
- Samsung originally reduced CPB_BUF_SIZE, but it causes mis-decoding
  of some videos. So we increase it back and also slightly increase
  the memory allocation to support it.
- Userspace mmap size needs to be changed to 35328*1024
  (port0_size - firmware_size + port1_size)

Change-Id: Id464d3008e5e464ad79b4999a88dbf20bdd0b0f5
Merge remote-tracking branch 'cm/cm-10.2' into cm-10.2-samsung-3.0