An alternative is use a resistor between D10 and the base *AND* cut the connection of R7 to VCC
You might even be able to re-use R7
by cutting the D10 to base connection and re-connect it to
the other side of R7 where VCC was so R7 now connects to D10 on one side
and the base on the other.
This allows D10 to have full control of the transistor.
The draw back is that by default the backlight will be off since there
is no pullup on the base.
This can eaasily be fixed in s/w.
An easy remedy is to simply switch to using fm's LiquidCrystal library
If you fill in the constructor with the backlight control information,
then lcd.begin() will turn the backlight for you.
You will also be able to use lcd.backlight() to turn it on, lcd.noBacklight() to turn it off and
lcd.setBacklight(dimvalue) for dimming.
Do not use the deprecated setBacklightPin() call, just fill in the constructor
with the backlight pin and polarity. After that, every thing will work just
like with the LiquidCrystal that comes with the IDE other than you now
have backlight control.