GErrorF: Add status-less macros+swap dest/src in propagate macro

Update profiler.c accordingly (the only module using the propagate
macro).
platform module: swap device list function by device index function

Update test_wrappers accordingly
Add reference count to device and platform wrappers
for debugging and testing purposes only
Add ref_unref_test to test_wrappers
Add comments and additional checks to device module

Also add some comments to platform module