Add test case for #27
Also test std::unique_ptr
Fix the test case for #27
Fix #27: handle smart pointers in Q_PRIVATE_SLOTS d expression