Actually, you are wrong. Caching is complicated. That's why why the Seagate Momentum only uses the flash as a read cache. The problem is that whenever it writes, it has to check whether the data written is in the read cache, and either invalidate the read cache or make two copies. It's complicated. And that's for a read cache; a read/write cache is much more complicated.
What Apple does is two things: First, treat SSD and spinning hard drive as one item. That is actually very simple to do. If they did nothing more, then whatever happens to be in the first 128 GB by coincidence would be fast, and whatever is in the rest would be slower. Second, move data to a "better" place from time to time. That is something that is done already: There is automatic defragmenting which combines pieces of fragmented files together, and there is hotzoning which moves heavily used items to the start of the drive (on a spinning hard drive, the first tracks are faster than the last ones).
So one very simple change that doesn't cause any problems, plus a slight modification to algorithms that are already in place. That's exactly the right thing to do.
No, what Apple is doing is actually very, very simple, and it is amazing that nobody did it earlier.