Make entire library code compile on MSVC & gcc.

Please move this class into a `namespace internal {...}` and name it `ActiveCellIterator`. Also drop the leading underscore from `_type` -- names that start with an underscore are typically considered reserved for the compiler support library.