emulator/opengl/emgen: Fix debug output of floating point values.

When calling printf() with a "%f", the value passed must be a double,
not a float, which means we can't just pass a 32-bit value in the stack
and assume printf() will cast it to a float properly. This results in
bogus values printed whenever a GLfloat is used in a function signature,
due to invalid stack offsets used by the printf().

Fix the problem by using Unpack<>() template.

Change-Id: I282d9c07af68457f32af477435e5dc1999267d39
Merge "emulator/opengl/emgen: Fix debug output of floating point values."