Dhananjaya de Silva scored an unbeaten 66 as Sri Lanka kept their slim Twenty20 World Cup hopes alive with a six-wicket