Initialize some variables in the class declaration

Previously, some variables were initialized in the constructor and some
were initialized by begin. This commit makes sure that the variables
that were initialized in the constructor now get their initial value in
the class declaration. The other variables are still initialized in
begin(), to make sure everything still works if begin() is called after
end() again.
Make sure that GSCore::serial and ::data_ready_pin get initialized

Previously, these were left uninitialized. This didn't show up as a
problem when GSCore was statically allocated into zero'd memory, but
when dynamically allocating a GSCore instance, it could fail to
initialize, thinking it was already initialized.