Ports other than the default did not actually work due to too-early initialization of the GPCamera

The GPCamera object was getting initialized due to the call in `camera_allocate` to `gp_camera_get_config` which ends up calling the `CHECK_INIT` macro and calling `gp_camera_new`. This meant that the default port information was always being used, since the port wasn't being set until later on in `camera_initialize`.

To fix this, I have moved the `gp_camera_get_config` and `gp_camera_get_abilities` calls to `camera_initialize`, after the port information has been configured.