Hi. Looks great so far! I used a 2-D array overlay to approach both this and the lighting issue. You have the speed to calculate a blocked view scenario for each of the tiles in one 'quadrant' say north and west of player (I drew rays on a grid paper and decided which would be blocked). The algorithm code block can then be reflected to each of the other 'quadrants' about the player. A blocked view = no/zero lighting. Light sources can then add to this value based on size/brightness and the view can be rendered using the 'overlay' as a lighting guide. Probably not the best solution but worked for me (except for calculating light blockage). Don't know if that helps but watching your project with interest. Good luck!
PS - reading back my response before posting I just figured out how I could have done the light block. :)