#################                   #############
 ##################               ################
 ###################            ##################
 ########     #######          ###################
   ######     #######         #######       ######
   ######     #######        #######
   #################         #######
   ################          #######
   #################         #######
   ######     #######        #######
   ######     #######        #######
   ######     #######         #######       ######
 ########     #######          ###################
 ########     ####### ######    ################## ######
 ########     ####### ######      ################ ######
 ########     ####### ######         ############# ######
                                                           
It produces the thinned output:
    # ##########                       #######
     ##        #                   ####       #
     #          #                 ##
     #          #                #
     #          #                #
     #          #                #
     ############               #
     #          #               #
     #          #                #
     #          #                #
     #          #                #
     #                            ##
     #                             ############
                       ###                          ###
                                                           
| P9 | P2 | P3 | 
| P8 | P1 | P4 | 
| P7 | P6 | P5 | 
Task: Write a routine to perform Zhang-Suen thinning on an image matrix of ones and zeroes.
thinImage must be a function
    testString: 'assert.equal(typeof thinImage, "function", "thinImage must be a function");'
  - text: thinImage must return an array
    testString: 'assert(Array.isArray(result), "thinImage must return an array");'
  - text: thinImage must return an array of strings
    testString: 'assert.equal(typeof result[0], "string", "thinImage must return an array of strings");'
  - text: thinImage must return an array of strings
    testString: 'assert.deepEqual(result, expected, "thinImage must return an array of strings");'
```