Create Menu interface on LCD?

New to programming and breadboarding, but slowly learning.
My goal is to have the LCD prompt for user input, then he/she uses LCD buttons to select item out of menu, then press big push button to activate a servo.

Here is my current code:
// include the library code:
#include <LiquidCrystal.h>
#include <Servo.h>

// initialize the library with the numbers of the LCD interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

const int buttonPin = 8; //pin at which push button attaches to arduino
int buttonState = 0; //variable to read push button status
Servo demoservo;

void setup() {
pinMode(buttonPin, INPUT);
demoservo.attach(7); //servo attached to Ard PWM pin 7
digitalWrite(8, HIGH); //enable pullup resistor to make pin HIGH
// set up the LCD's number of columns and rows:

lcd.begin(16, 2);
// Print a message to the LCD.
lcd.print("Select Part Family using Keypad:");
// set the cursor to column 0, line 1
// (note: line 1 is the second row, since counting begins with 0)
lcd.setCursor(0, 1);
lcd.print("1 = CFM // 2 = PRT-X // 3 = PRT-Y");
delay(750);
}

void loop() {
// scroll 13 positions (string length) to the left
// to move it offscreen left:
for (int positionCounter = 0; positionCounter < 13; positionCounter++) {
// scroll one position left:
lcd.scrollDisplayLeft();
// wait a bit:
delay(500);
}
// delay at the end of the full loop:
delay(0);

buttonState = digitalRead(buttonPin);
if (buttonState == LOW)
{demoservo.write(160);
}
else {
demoservo.write(20);
}

}

My issues are that my push button doesn't activate the servo and I don;t know how to wire up the LCD push buttons from the LCD shield.

The scrolling text displays for me

pinMode(8,INPUT_PULLUP); (you can then remove the write HIGH)
delay(0); Remove or change 0 to 1