fixed M_PI issues when building with strict gcc flags

Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
fixed macro definition conflicts

Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
a "using" keyword was missing

Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
added original GME Data_Reader class as an optional component

(also modified its callback_t to match gme's gme_reader_t)

Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>