API, Schnittstellenprogrammierung