core: Remove empty structs from core objects

Emil discovered that MSVC does rejects empty structs with the error
message "C requires that a struct or union has at least one member".

This patch removes all empty structs from the wcore objects, and
replaces each with a pair of safe typecast functions that provide
bidirectional casting waffle_OBJ <-> wcore_OBJ.

Reported-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>