Sainsmart 2004 LCD with I2C piggyback controller

You've got the right library and it does work.
You need to properly fill in the full constructor to tell the library how the PCF8574 chip is wired up to the LCD.
I guarantee you that this one, is wrong:

LiquidCrystal_I2C lcd(0x3F);  // Set the LCD I2C address

As that one will use an internal default pin mapping which sets the pin mappings to work
with Fm's ElectronFun pin wiring which no other backpack uses.

My recommendations is to ALWAYS fill in the full constructor with the full pin mappings
so you know what you getting vs trying to use built in defaults.

Look closer at the constructor and its full set of arguments.
There are examples on using the full constructor on the link that Don provided.
You will notice that your constructor doesn't look like the ones on that page.

Also, if you search the forum you can find my i2cLCDguesser sketch that will guess the
constructor.
http://forum.arduino.cc//index.php?topic=157817.msg1235230#msg1235230

--- bill