enable profiling and avoid using **2 to square (which translates to pow)

Tested on bennet.

working on pure python fractal
===============================
Thu Jun 12 12:40:40 2014    pure.prof

         13105282 function calls (13105281 primitive calls) in 33.398 seconds

   Ordered by: internal time
   List reduced from 103 to 15 due to restriction <15>

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
  1703936   24.691    0.000   25.206    0.000 FractalTransform.py:193(place_point)
  1419417    1.432    0.000    1.432    0.000 FractalTransform.py:148(Transform)
        1    1.197    1.197   32.978   32.978 FractalTransform.py:202(Simulate)
  1703936    1.158    0.000    6.573    0.000 FractalTransform.py:179(Transform)
  1703936    1.145    0.000    1.145    0.000 FractalTransform.py:19(quickrand32)
   284519    1.019    0.000    1.639    0.000 FractalTransform.py:83(Transform)
   284519    0.854    0.000    2.838    0.000 FractalTransform.py:103(Transform)
  3708808    0.568    0.000    0.568    0.000 {math.sqrt}
   284519    0.479    0.000    0.620    0.000 FractalTransform.py:56(Transform)
        1    0.346    0.346    0.350    0.350 FractalTransform.py:229(get_colors)
   284520    0.141    0.000    0.141    0.000 FractalTransform.py:25(__init__)
  1138132    0.137    0.000    0.137    0.000 {math.sin}
   284519    0.111    0.000    0.111    0.000 {math.atan2}
        1    0.066    0.066   33.398   33.398 __init__.py:169(Fractal)
   284575    0.045    0.000    0.045    0.000 {math.cos}

working on old fractal
======================
Thu Jun 12 12:41:13 2014    old.prof

         7386305 function calls in 2.183 seconds

   Ordered by: internal time
   List reduced from 68 to 15 due to restriction <15>

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
  1703936    0.649    0.000    0.649    0.000 OldFractalTransform.pyx:217(place_point)
        1    0.460    0.460    1.793    1.793 OldFractalTransform.pyx:227(Simulate)
  1703936    0.410    0.000    0.683    0.000 OldFractalTransform.pyx:194(multipleTransform)
        1    0.323    0.323    0.323    0.323 OldFractalTransform.pyx:258(get_colors)
   284519    0.090    0.000    0.141    0.000 OldFractalTransform.pyx:113(fancyTransform)
  1703936    0.073    0.000    0.073    0.000 OldFractalTransform.pyx:25(quickrand32)
        1    0.066    0.066    2.183    2.183 __init__.py:190(OldFractal)
  1419417    0.059    0.000    0.059    0.000 OldFractalTransform.pyx:159(symmetryTransform)
   284519    0.038    0.000    0.051    0.000 OldFractalTransform.pyx:89(affineTransform)
   284519    0.013    0.000    0.013    0.000 OldFractalTransform.pyx:56(colorTransform)
       20    0.000    0.000    0.000    0.000 {numpy.core.multiarray.array}
      115    0.000    0.000    0.000    0.000 __init__.py:79(random32)
      129    0.000    0.000    0.000    0.000 {range}
       10    0.000    0.000    0.001    0.000 OldFractalTransform.pyx:68(MakeAffine)
       62    0.000    0.000    0.000    0.000 random.py:558(gauss)

working on optimized fractal
============================
Thu Jun 12 12:41:23 2014    opt.prof

         1534 function calls in 9.367 seconds

   Ordered by: internal time
   List reduced from 55 to 15 due to restriction <15>

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
        1    8.979    8.979    8.979    8.979 {method 'Simulate' of 'VisualHashPrivate.OptimizedFractalTransform.Multiple' objects}
        1    0.320    0.320    0.320    0.320 {VisualHashPrivate.OptimizedFractalTransform.get_colors}
        1    0.066    0.066    9.367    9.367 __init__.py:211(OptimizedFractal)
       22    0.000    0.000    0.000    0.000 {numpy.core.multiarray.array}
      115    0.000    0.000    0.000    0.000 __init__.py:79(random32)
      129    0.000    0.000    0.000    0.000 {range}
       65    0.000    0.000    0.000    0.000 random.py:558(gauss)
        1    0.000    0.000    9.367    9.367 <string>:1(<module>)
       33    0.000    0.000    0.000    0.000 defmatrix.py:233(__new__)
       11    0.000    0.000    0.000    0.000 Color.py:3(DistinctColorFloat)
       22    0.000    0.000    0.000    0.000 {built-in method __new__ of type object at 0x887160}
       11    0.000    0.000    0.000    0.000 {numpy.core._dotblas.dot}
       44    0.000    0.000    0.000    0.000 defmatrix.py:301(__getitem__)
      167    0.000    0.000    0.000    0.000 {isinstance}
      115    0.000    0.000    0.000    0.000 __init__.py:90(random)

profiling old fractal algorithm took 33.38 seconds
pure python fractal algorithm took 29.95 seconds
profiling old fractal algorithm took 2.18 seconds
old fractal algorithm took 1.1 seconds
profiling optimized fractal algorithm took 9.36 seconds
optimized fractal algorithm took 9.34 seconds