added async Crossword.decode(filename, callback) method