Add code to generate an empty board and functional versions of set and move
Add player color mappings to rendering, removed move list to simplify dependencies
Solution for the n-queens problem

Example:
> (for/list ([n (in-range 10)]) (list n (length (queens n #:all? #t))))
> (map (λ (b) (render b #:player-colors (const black))) (queens 6 #:all? #t))

Works for either a single solution (default) or all solutions (set #:all? #t)