Added the ability to use a purely Python solution.

This isn't really a fallback solution.  As configured, the Python only version won't
be used.  But I'm including the code (even though it is currently 'unreachable')
to demonstrate how it can be done.

I should point out that all tests passed using both approaches.  The main issue
is the performance is ~3x better with the 'native' version.